반응형
회원가입과 로그인에 사용될 users테이블 모델링을 위해서 main에서 브랜치를 생성해주고
브랜치로 이동해서 user app을 생성한다.
git checkout -b feature/models
python manage.py startapp users
앱 이름으로 용도를 유추할 수 있도록 한다.
사용자와 관련된 기능을 구현할 앱을 만들거라서 users라고 한다.
앱을 만들면 settings.py에 추가해주어야 한다. 그렇지 않으면 인식하지 못한다
-> No installed app with label 'users'.
# settings.py
INSTALLED_APPS = [
...
'users',
]
그리고 models.py를 작성해서 모델링을 한다.
# models.py
from django.db import models
class User(models.Model):
name = models.CharField(max_length=45)
email = models.CharField(max_length=100, unique=True)
password = models.CharField(max_length=200)
mobile_number = models.CharField(max_length=45)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
db_table = 'users'
회원가입을 할 때는 이름, 이메일, 비밀번호, 휴대폰 번호를 받는다.
- 이메일은 id로 사용될 예정이라서 unique=True 속성을 넣었다.
- password는 해시 암호화된 길이를 고려해서 최대길이를 200으로 설정했다.
- 회원가입 이력관리를 위해서 created_at, updated_at 컬럼을 추가했다.
- 테이블에는 여러 유저의 정보가 들어갈 것이라서 복수형으로 users로 만들었다.
만들어놓은 클래스대로 데이터베이스 테이블을 생성하기 위해 makemigrations->migrate 를 해준다
python manage.py makemigrations users
# 이 작업을 하면 magration 파일이 생긴다. 0001, 0002, 0003,..._initial.py
# 이 파일은 파이썬으로 정의한 클래스를 가지고 데이터베이스에 테이블을 만들기 위한 설계도라고 할 수 있다.
python manage.py migrate
# makemigrations로 만들어진 마이그레이션 파일을 가지고 실제 db테이블에 적용하는 작업이다.
# migrate까지 완료해야 테이블이 생성된다.
그리고 add, commit 후 github에 push해주고 pr남기기
git push origin feature/models
반응형
'wecode' 카테고리의 다른 글
[Mission 4] 로그인 기능 구현 (0) | 2022.07.16 |
---|---|
[Mission 3] 회원가입 기능 구현 (0) | 2022.07.16 |
Code Kata | Week2 - Day5 (0) | 2022.07.15 |
Code Kata | Week2 - Day4 (0) | 2022.07.14 |
Code Kata | Week2 - Day3 (0) | 2022.07.13 |