-
Django 초간단 게시판 3. modelPython/초간단 장고 Django 2021. 5. 27. 00:01반응형
1. migrate
먼저 DB 를 만들어 보자.
config/setting.py 파일에 DB 설정이 있다.
실습용으론 충분하니 기본값을 쓰자.# config/setting.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } }
파이참의 터미널 창에서 python manage.py migrate 를 실행한다.
migrate 전에는 makemigrations(s에 주의)를 실행해야 하는데,
장고 첫 설치시 makemigrations 된 상태기 때문에 migrate를 바로 실행할 수 있다.makemigrations은 모델의 변화를 migrations에 기록하고,
migrate은 DB에 models.py의 변화를 적용해준다.sqlite3 파일이 생긴다.
실습 중에는
자주 반복하는 과정이기 때문에
등록해두고 편하게 쓰자.makemigrations 도 등록하자.
2. modes.py
이제 본격적으로 게시판을 만들어 보자.
게시판이라면 주제, 저자, 내용, 게시시간, 수정시간이 필요하다.
물론 답글, 댓글 등도 필요하지만,
천천히 구현하도록 하자.일단 모델 부터...
# board/models.py from django.db import models class Article(models.Model): title = models.CharField(max_length=120, null=False) author = models.CharField(max_length=20, null=False) content = models.TextField(null=False) created_at = models.DateTimeField(auto_now_add=True) modified_at = models.DateTimeField(auto_now=True) def __str__(self): return f'{self.id} / {self.title} / {self.author}'
Article이라는 테이블 안에
title이라는 120글자 제한의 칼럼이 있고 ...
이하 생략..__str__은 예전에 설명했다.
https://comdoc.tistory.com/entry/7-Django-ORM-Method-strauto_now_add, auto_now 는 구글링하자.
https://tomining.tistory.com/145설정하지 않은 self.id 는 장고가 제공해주는 것...
3. makemigrations, migrate
makemigrations, migrate를 해서 DB에 변화를 반영하자.
4. admin.py
admin 에서 이 모델을 보려면.. admin.py 파일을 수정해야 한다.
from django.contrib import admin from .models import Article admin.site.register(Article)
5. create super user
admin 에 진입하려면 create super user 를 해야한다.
터미널 창에서 python manage.py createsuperuser 를 실행하자.
아이디 패스워드 등을 입력하면 된다.
(venv) C:\PyProjects\djangoBBS>python manage.py createsuperuser
http://127.0.0.1:8000/admin 에 접속하면
이런 화면을 볼 수 있다. ADD ARTICLE 해둔 상태...
반응형