티스토리 뷰
AI웹 개발자 과정 공부 (팀스파르타)/Django (장고)
24.04.30_TIL (Django Custom UserModel 활용하기 )
티아(tia) 2024. 5. 1. 08:56728x90
++ 장고 공식 문서는 항상 확인하기
https://docs.djangoproject.com/en/4.2/
1. Django의 기본 User Model 을 세팅해보자.
- accounts 에 models.py 에 추가해준다.
from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.
class User(AbstractUser):
pass
- my_first_pjt 에 settings.py 에 추가해준다. 보통은 DATABASES와 AUTH_PASSWORD_VALIDATORS 사이에 적어준다.
...
AUTH_USER_MODEL = 'accounts.User'
...
++ 원래는 처음 프로젝트 시작할 때 설정해주고 시작해야함!
- migration 적용하기
- 프로젝트 중간에 진행되므로 데이터베이스를 초기화하고 진행해야한다. → 그렇지 않을 경우, 마이그레이션이 뒤엉키게 돼요!
2. Django의 데이터베이스를 지우고 다시 설정!
- db.sqlite3 파일 삭제 및 모든 migration 삭제 후 다시 migration합니다.
python manage.py makemigrations
- 새로 생성된 migration 이 많은 것을 볼 수 있다.
python manage.py migrate
- 다시 초기화 되어 마이그래잇 된 것을 볼 수 있다.
- 디비가 초기화 되었기 때문에 다시 admin 아이디를 만들어 주어야 한다.
- 이 전에 회원가입하면서 만들었던 데이터도 다 날아간 것을 볼 수 있다.
python manage.py createsuperuser
- 다른 회원가입을 하려고 하니까 에러가 난다.
- user을 맞춰주어야 한다.
- accounts의 forms.py 에서 수정해준다.
from django.contrib.auth.forms import UserChangeForm, UserCreationForm
...
class CustomUserCreationForm(UserCreationForm):
class Meta:
model = get_user_model()
fields = UserCreationForm.Meta.fields
- 기존의 views.py 에 있는 UserCreationForm을 CustomUserCreationForm 으로 바꾸어주어야 한다.
- signup에 수정해주면서 상속도 받아야함.
from .forms import CustomUserChangeForm, CustomUserCreationForm
반응형
'AI웹 개발자 과정 공부 (팀스파르타) > Django (장고)' 카테고리의 다른 글
24.05.02_TIL (Django 심화 : REST Framework 시작하기) (0) | 2024.05.02 |
---|---|
24.05.01_TIL (Django 심화 : DRF, RESTful API와 JSON 기본세팅) (1) | 2024.05.01 |
24.04.26_TIL (Django Model Relationship (1:N) 댓글 구현 ) (0) | 2024.04.26 |
24.04.25_TIL (2) (Django static & media, 관리자페이지) (0) | 2024.04.25 |
24.04.25_TIL (1) (Django 회원가입, 탈퇴, 정보수정) (0) | 2024.04.25 |