본문 바로가기
Project/에어비앤비 (with Django)

[Django] 기존 User 모델 덮어쓰기

by 발담그는블로그 2021. 1. 1.

docs.djangoproject.com/en/3.1/topics/auth/customizing/

 

Customizing authentication in Django | Django documentation | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

 

AUTH_USER_MODEL 설정

프로젝트에 따라서 인증 요구사항이 다르기 때문에 장고에서 제공하는 user 모델이 적합하지 않을 수 있다. Django에서 user 모델을 덮어쓰려면 AUTH_USER_MODEL 값을 설정해야 한다. User 모델을 덮어 쓰기 위해선, Setting.py 파일에서 다음과 같은 설정을 해주어야 한다.

# Substituting a custom User model
AUTH_USER_MODEL = 'myapp.MyUser'

이렇게 설정한뒤, 서버를 돌리면 다음과 같은 에러가 뜬다. 

runserver시 에러문구

그럼 Migration을 만들어주어야 한다.

 

Migration

python manage.py makemigrations

해당 코드를 작성하면 다음과 같은 Mirgation 파일이 생성된다.

users 폴더 -> migrations폴더 -> 0001_initial.py

그런다음 

python manage.py migrate

을 작성해주면 서버가 잘 실행된다.

반응형