django custom user
문서가 워낙 잘 되어 있어서 그냥 링크의 cheat-sheet만 따라하면 끝
https://docs.djangoproject.com/en/1.9/topics/auth/customizing/#a-full-example
참고로 새 User모델을 정의할 때 따라야 할 규칙은
- models.Model이 아닌 AbstractBaseUser를 상속받을것!
- password 필드를 만들지 말 것. django가 관리하기 때문. 만들면 충돌난다.
- last_login 필드를 만들지 말 것. django가 관리하기 때문. 만들면 충돌난다.
- USERNAME_FIELD를 작성하 것. 예를 들어 USERNAME_FIELD = 'username'
- REQUIRED_FIELDS를 작성할 것. 반드시 리스트 또는 튜플 타입이어야 함. 예를 들어 REQUIRED_FIELD = ('somefield', 'someanotherfield')
- BaseUserManager를 상속받은 UserManager클래스를 작성할 것. 이게 있어야 manage.py에서 제공하는 유저 생성 명령에 대응 가능하다.
- objects는 6에서 만든 클래스로 작성할 것. 예를 들어 objects = MakersUserManager()
이다.
이제 User를 사용하고 싶다면 settings.AUTH_USER_MODEL을 사용해도 되고, 그냥 막바로 내가 정의한 User 모델을 불러와도 된다.
'WebDev' 카테고리의 다른 글
Chrome extension 개발 (0) | 2016.02.16 |
---|---|
Web SQL (0) | 2016.02.15 |
django facebook login (0) | 2016.02.06 |
Python으로 현재 컴퓨터가 EC2인지 확인하기 (0) | 2016.01.26 |
Pynamodb Basic Tutorial (0) | 2016.01.25 |