Authentication (인증)
- 신원 확인
- 사용자가 자신이 누구인지 확인하는 것
Authorization (권한, 허가)
- 권한 부여
- 인증된 사용자가 수행할 수 있는 작업을 결정
AbstractUser
관리자 권한과 함께 완전한 기능을 가지고 있는 User model을 구현하는 추상 기본 클래스(몇가지 공통 정보를 여러 다른 모델에 넣을 때 사용하는 클래스)
1. 사전 설정
settings.py의 INSTALLED_APPS에 accounts를 추가한다.
auth와 관련된 경로, 키워드를 django 내부적으로 accounts 이름으로 사용하고 있기 때문에 그대로 사용하는 것이 좋다.
accounts/urls.py 에 app_name을 설정하고, 프로젝트/urls.py에 url 매핑한다.
2. User model
class User(AbstactUser):
pass
accounts/models.py에 AbstractUser 를 상속받아 User 클래스를 작성한다.
AUTH_USER_MODEL='accounts.User'
settings.py의 AUTH_USER_MODEL = 'accounts.User' 으로 생성한 커스텀 User 모델을 django 프로젝트에서 유저를 나타내는데 사용하도록 지정한다.
프로젝트 처음에 진행해야 한다.
admin.site.register(User, UserAdmin)
accounts/admin.py에 커스텀 User모델을 등록한다.
3. 데이터베이스
makemigrations, migrate 진행한다.
python manage.py makemigrations
python manage.py migrate
'Back-end > Django' 카테고리의 다른 글
RDB 관계 - 1:1, 1:N, M:N / 외래키(Foreign Key) (0) | 2022.10.05 |
---|---|
쿠키(cookie), 세션(session) (0) | 2022.09.15 |
django - Model, CRUD, admin (0) | 2022.09.02 |
django 프로젝트, 앱 생성 / 가상환경 설정 / 프로젝트 작성 틀 (0) | 2022.09.02 |
MVC, MVT(MTV), Django (0) | 2022.09.02 |