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을 사용한다는 차이 뿐이다.
설치 및 설정 순서
(1) django-custom-user를 설치한다.
pip install django-custom-user |
설치하면 이렇게 진행된다..
Downloading/unpacking django-custom-user Running setup.py egg_info for package django-custom-user
Requirement already satisfied (use --upgrade to upgrade): Django>=1.5 in /usr/local/lib/python2.7/dist-packages (from django-custom-user) Installing collected packages: django-custom-user Running setup.py install for django-custom-user
Successfully installed django-custom-user Cleaning up... |
(2) settings.py 파일에 INSTALLED_APPS에 'custom_user'을 삽입한다.
INSTALLED_APPS = ( ..., 'custom_user', ) |
(3) AUTH_USER_MODEL로 EmailUser을 입력.
AUTH_USER_MODEL = 'custom_user.EmailUser' |
(4) database 테이블을 생성한다.
python manage.py syncdb |
'Web' 카테고리의 다른 글
django 1.5에서 메일로 가입 activation 처리하기. (0) | 2013.05.22 |
---|---|
django에서 email로 registration 하기. (0) | 2013.05.21 |
Django 과연 scale적인 면에서 괜찮은 선택인가. (0) | 2013.05.20 |
Django userena의 simplified 버젼 (0) | 2013.05.19 |
Django app에서 request 객체 (0) | 2013.05.19 |