728x90
AbstractBaseUser 모델 상속한 사용자 정의 User 모델 사용하기
개요
AbstractBaseUser 모델을 상속한 User 모델을 만들고 settings.py에 참조를 수정하는 것은 AbstractUser 모델을 상속하는 것과 같다. 따라서 마찬가지로 프로젝트 시작 전에 이 기법의 사용 여부를 결정하는 것이 바람직하다.
그런데 AbstractUser 모델을 상속하는 방법과 달리 로그인 아이디로 이메일 주소를 사용하도록 하거나 Django 로그인 절차가 아닌 인증 절차를 직접 구현하고자 할 때 사용할 수 있다.
예를 들어, 기존에 운영 중이던 PHP 솔루션의 회원 디비를 그대로 재사용하고자 한다면 AbstractBaseUser 모델을 상속한 User 커스텀 모델을 만들어야 한다.
단점은 운영 중에 시스템 사용자 모델을 변경하는 것이 매우 어렵다는 점이다. 따라서 이미 운영 중인 Django 기반 웹사이트의 경우에는 그냥 기존 모델을 사용하자.
구현
구현 코드는 django 공식 문서에 가면 있습니다.
docs.djangoproject.com/en/3.1/topics/auth/customizing/#a-full-example
728x90
'Development > Django' 카테고리의 다른 글
[Django] 동적 필터링 (0) | 2021.03.13 |
---|---|
[Django] User Model 확장 (6) - UserManager (0) | 2021.03.13 |
[Django] User Model 확장 (4) - AbstractUser 모델 상속한 사용자 정의 User 모델 사용하기 (0) | 2021.02.24 |
[Django] User Model 확장 (3) - User 모델과 OneToOneField의 프로필 테이블 추가하기 (0) | 2021.02.24 |
[Django] User Model 확장 (2) - 프록시 모델 사용하기 (0) | 2021.02.23 |