블로그 글 모델 만들기
#blog/models.py
from django.conf import settings
from django.db import models
from django.utils import timezone
class Post(models.Model):
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
- 모델의 필드 정의하는 방법: https://docs.djangoproject.com/en/2.0/ref/models/fields/#field-types
- 장고 모델은 속성(변수)과 메소드(행위)를 정의할 수 있음.
- 장고 모델은 클래스로 생성함.
- 클래스 인자를 models.Model로 장고 모델임을 알려줌.
모델을 위한 테이블 만들기
#command-line
(myvenv) ~/mysite$ python manage.py makemigrations blog
- 장고에게 변경된 사항(모델을 생성함)을 알려줌
#command-line
(myvenv) ~/mysite$ python manage.py migrate blog
- 생성된 모델로 데이블을 만듬
관리자 화면
#blog/admin.py
from django.contrib import admin
from .models import Post
admin.site.register(Post)
- Post 모델을 가져옴
- 관리자에서 볼 수 있도록 모델을 등록함
- 장고 관리자: https://docs.djangoproject.com/en/2.0/ref/contrib/admin/
슈퍼 사용자 생성
#command-line
(myvenv) ~/mysite$ python manage.py createsuperuser
Username: admin
Email address: admin@admin.com
Password:
Password (again):
- 생성된 모델로 데이블을 만듬
'개발 > 파이썬' 카테고리의 다른 글
djangogirls| 6. ORM, QuerySets : 데이터베이스 연결 (0) | 2020.10.29 |
---|---|
djangogirls | 5.urls, view, 템플릿(html) (0) | 2020.10.29 |
djangogirls | 3. 블로그 만들기_프로젝트, 데이터베이스, 앱 (0) | 2020.10.28 |
djangogirls | 1. 설치편: 파이썬 , 가상환경, django, 에디터 (0) | 2020.10.28 |
[파이썬] 기본문법3 (0) | 2020.04.19 |