AbstractUser 유저 모델 클래스에서 username필드를 아이디로 사용한다.
그래서 보통 이메일로 로그인기능을 만들때 username 필드에 Email 을 저장하고 사용한다.
1.먼저 user 앱을 만들고 User 모델을 AbstractUser 받아 생성한다
USERNAME_FILED 와 REQUIRED_FIELDS 를 위와 같이 설정해준다
여기서
2. USERNAME_FILED 는 꼭 로그인할 email 필드로 설정한다.
3.settings.py에 INSTALLED_APPS 에 user 앱을 추가해준다
4.settings.py에 AUTH_USER_MODEL, LOGIN_FIELDS 를 설정해준다
끝!
테스트를 위해 간단한 html과 views.py 도 작성해준다.
로그인이 성공하면 유저네임과 이메일이 보이는 템플릿 코드다.
코드를 보면
authenticate(email=email, password=password)
이메일로 로그인 했다는 걸 확인할 수 있다.
'Django' 카테고리의 다른 글
Django CSRF (0) | 2023.03.18 |
---|---|
[Django] values(), values_list() (0) | 2023.01.17 |
[Django] Django-extensions shell_plus 로 쿼리 확인하기 (0) | 2023.01.15 |
Django,RuntimeWarning: DateTimeField received a naive datetime while time zone support is active. (0) | 2023.01.09 |