본문 바로가기

Web

(32)
django에서 email를 사용자 id로 사용하고 싶을때.. Django에서는 User라는 객체가 있는데, user email이 아닌 username이 unique한 값으로 설정되어 있다. 즉, 메일주소는 동일한값이 존재하는 것은 허용하지만, username은 중복되는 것은 허용하지 않는다. 그런데, 요즘은 username으로 가입 id를 받는것보다 email주소를 user id로 받는 경우가 많다. 그러면 어떻게 해야할까.. 아래 사이트에서 Custom user model을 다운받아서 설치하면 된다. 참고로 django 1.5버젼 이상에서만 테스트된것 같다.django-custom-user는 django의 기본적인 User객체와 동일하지만, username 대신에 email을 사용한다는 차이 뿐이다. https://pypi.python.org/pypi/djang..
Django 과연 scale적인 면에서 괜찮은 선택인가. Django의 메인 페이지에 방문해보면 인기있는 웹 서비스 사이트가 올라와있다. Instagram, Openstack, Pinterest.. 서비스 내용만봐도 적지않은 트래픽과 사용자들을 가지고 있을것이라 생각된다. 아래 웹 사이트를 가보면 http://www.djangosites.org/ Django로 개발된 웹사이트들에 대한 정보가 올라와있다. 현재 4299개의 웹사이트가 Django를 기반으로 개발되어져 있단다.Deployment 통계자료를 보면, 사용하는 데이터베이스 백엔드로 mysql이 절반이상을 차지하고 있고, postgres가 두번째.. 88%가 이 두가지 데이터베이스를 활용하고 있다. 웹 서버는 쉽게 예상할 수 있듯이 아파치가 압도적이고, nginx라는 웹서버도 많이 사용하는 편이다.(23..
Django userena의 simplified 버젼 django의 user account 부분을 담당할 userena를 설치하고 사용하는데에 있어서, 몇가지 불편함이나 무거운 감이 있어서 수정된 버젼을 만들어서 배포하고 있다. github : https://github.com/barszczmm/django-easy-userena django userena의 simplify된 버젼. 현재 공식 문서는 없다. userena의 base template에서는 title, content, content-title 블럭을 필요로 하기 때문에 보통 이 템플릿을 매번 overwrite해서 사용해야 하는 불편함과 django-guardian 퍼미션을 허용해 줘야하는 불편함때문에, 아예 그 부분을 제거하였다고 한다. 그리고 django-guardian을 사용하면 데이터베이..
Django app에서 request 객체 Django app을 만들면 기본적으로 views.py가 생긴다. 이 파일에서는 화면에 정보를 표시하기위한 기능을 하는 함수들로 채우면 되는데, 보통 인자로 request 객체를 가진다. from django.Http import HttpResponse def mainview(request): output = '''test''' return HttpResponse(output) 예를들어, 이렇게 request 객체를 인자로 가지는 mainview라는 함수를 만들었다. 여기서 request 객체는 사용자의 폼 입력같은 행동에 의해 입력된 값 또는 그런 정보들을 가진다. request.GET, request.POST, request.COOKIE는 사전형의 데이터로 get, post, cookie 정보를 담고..
Django-userena로 사용자 등록/로그인 구현 - 설정 userena 설치가 정상적으로 완료되었다면, 몇가지 셋팅만으로 사용자 등록, 로그인, 로그아웃등의 계정과 관계된 기능을 넣을 수 있게된다. 원문 출처 : http://bobbyong.com/blog/step-by-step-guide-on-configuring-django-userena/ 설정 순서 (1) 생성한 프로젝트의 settings.py 파일에 django app들을 등록해야 한다. 이것은 userena를 설치하면 같이 설치가 될 것이다. * 참고로 easy_thumbnails 앱이 정상적으로 동작하기 위해서는 PIL(Python Imaging Library) 라이브러리 설치가 필요하다고 한다. easy-thumbnails는 사용자 계정에 자신의 사진을 업로드하여 그 사진의 썸네일 이미지를 계정의..
Django-userena로 사용자 등록/로그인 구현 - 개요 및 설치 Django(1.5.1)를 설치했고, 그 위에 웹 서비스를 구현하려고 한다. 가장 먼저 손을 대볼까 하다가 사용자 등록, 로그인, 로그아웃의 기능을 먼저 손대볼려고 한다. 그런데, 이것도 Django에 기본적으로 포함된 기능을 이용하면 좋겠지만, 구현을 어떻게 하려는가에 따라 커스터마이즈를 하거나 새롭게 구현해야 하는 일이 발생한다. 예를들면, 로그인을 요즘에는 id로 email주소를 많이 쓰고, email로 인증 확인메일을 보내서 사용자를 등록시킨다. 또는 google이나 facebook의 ID를 가져다가 사용하는 경우가 많다. 이때문에 다른 오픈소스 패키지를 다운받아 설치하거나 기존 기능을 적당히 커스터마이즈하는 방법을 선택해야 한다. 몇가지를 찾아보다가, 선택한 패키지는 django-userena ..
가장 인기있는 Django 어플리케이션 10개. Django 프레임워크는 MVC 디자인패턴을 지원한다. MVC = Model, View, Controller.모델(Model)은 데이터 access를, View는 화면에 표현을, Controller는 View와 Model사이에서의 프로세싱부분을 담당한다. Django의 이런 구조가 좋은 것은 코드의 재사용성을 좋게 하는데, Django packages에서는 이렇게 서로 만들어진 app들을 공개하고 공유할 수 있도록 하고 있다. Django가 MVC구조를 가지도록 만들어져 있기때문에 간단한 설정만으로도 기능을 재사용할 수 있게 된다. 인터넷을 검색하다 본 내용을 옮겨본다.제목은 '인기있는 Django App. 10선(10 Popular Django Apps)'. 원문 URL : http://www.host..
장고(Django) 1.5.1 를 이용한 웹 서비스 개발 준비 1. Django 설치 웹 서비스를 개발하는데, 기존에 흔히 웹 개발에서 사용하던 php같은 서버 스크립트를 사용해 본 경험이 없다. 하지만, 다행스럽게도 python은 약간 다뤄봤기에 선택여지가 없이 Django 프레임워크를 선택하게 되었다.설치 환경 : ubuntu 12.10 + python 2.7 + django 1.5.1설치방법은 간단하다. sudo apt-get install python-django 2. 개발환경 설정 좋은 IDE가 있는지 모르겠다. 사람마다 서로 다른 익숙한 툴을 사용하기 때문에. vi나 vim을 쓰는 사람도 있고, eclipse를 쓰는 사람도 있고, 다 제각각이라. 하지만, Django를 기반으로 개발하는데 있어서 python뿐만아니라, html, css, javascrip..