[TIL / Django] Westagram 1 - model 작성

나른한 개발자·2022년 1월 17일
0

studylog

목록 보기
28/45
post-custom-banner

이번에는 위스타그램 프로젝트를 만들어 볼 것이다.

  1. 초기 셋팅
  2. 모델링

1. 초기 셋팅

초기 셋팅은 git initial 브랜치에서 하면되는데, westarbucks에서 하던것과 크게 다르지 않다.

대신 패키지들을 정리해 놓은 requirements.txt도 함께 작성한다. 이 파일을 작성해 놓으면 동료들이 내가 셋팅해 놓은 것을 clone만 받으면 같은 환경으로 개발할 수 있다.

초기 셋팅 확인 사항

✅ myclient 설치
✅ allowed_host = ['*']
✅ my_settings.py
✅ .gitignore
✅ corsheaders 앱, 관련 미들웨어 추가 및 초기 설정
✅ 최상위 디렉터리 urls.py 초기화
✅ timezone = 'Asia/Seoul'
✅ APPEND_SLASH = False

+) 선택 사항
✅ django-extenstions 설치 및 앱추가
✅ ipython 설치


이렇게 진행했다면 연결해둔 remote에 push 한다.



2. 모델링

PR 작성 및 머지가 되었다면 로컬에서 pull을 하고 model 브랜치를 새로 생성한 후 users앱을 만들고 모델을 작성한다.

위스타그램에서는 회원가입 및 로그인 기능을 구현할 것이므로 이용자들의 정보를 담을 수 있는 users 모델을 생성한다.

from django.db import models

class User(models.Model):
    name         = models.CharField(max_length=45, null=True)
    email        = models.CharField(max_length=200, unique=True)
    password     = models.CharField(max_length=400)
    phone_number = models.CharField(max_length=45, null=True)
    created_at   = models.DateTimeField(auto_now_add=True, null=True)
    updated_at   = models.DateTimeField(auto_now=True, null=True)

    class Meta:
        db_table = 'users'
  • 이메일은 로그인 시 필요한 아이디가 될 것이므로 unique=True 속성을 주었다.
  • password는 후에 해싱한 값이 저장될 것이므로 넉넉하게 max_length=400으로 주었다.
  • 계정관리의 용이함을 위해 계정 생성날짜 및 수정 날짜가 자동으로 입력될 수 있도록 created_at, updated_at 컬럼을 추가하였다.

여기까지 완료되었다면 migrate를 해주고 commit, push한다.

profile
Start fast to fail fast
post-custom-banner

0개의 댓글