객체(Object)
- 속성과 행동의 집합
ex:
사람
- 성별
- 키
- 걷다
- 먹다
속성 = 속성(properties)
행위 = 메소드(methods)
블로그의 속성
ex:
Post
- title
- text
- author
- created_date
- published_date
장고 모델
- 장고 안의 모델은 객체의 특별한 종류
- 모델을 저장하면 데이터베이스에 저장됨
SQLite
: 기본 장고 데이터베이스 어댑터
애플리케이션 생성
cmd
(myvenv) D:\git\djangogirls> python manage.py startapp blog
- blog 이름을 가진 애플리케이션 생성
Django에 생성한 blog 애플리케이션 사용 설정
mysite/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog'
]
블로그 글 모델 만들기
- 모든 Model 객체는 blog/models.py 파일에 선언해야함
blog/models.py
from django.db import models
from django.conf import settings
from django.utils import timezone
class Post(models.Model): #모델정의
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
# ForeignKey: 다른 모델에 대한 링크
title = models.CharField(max_length=200) # CharField: 200자로 제한된 텍스트
text = models.TextField() # TextField: 글자 수 제한이 없는 긴텍스트
created_date = modes.DateTimeField( # 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 # Post모델의 제목
데이터베이스에 Post 모델 추가
cmd
(myvenv) D:\git\djangogirls>python manage.py makemigrations blog
데이터베이스에 반영하기
- migration file : 데이터페이스에 지금 반영할 수 있도록 해줌
cmd
(myvenv) D:\git\djangogirls> python manage.py migrate blog
https://tutorial.djangogirls.org/ko/django_models/
'Languages > Python' 카테고리의 다른 글
[Django] urls - Djangogirls (0) | 2020.07.29 |
---|---|
[Django] PythonAnywhere 로 첫 배포하기 - Djangogirls (0) | 2020.07.27 |
[Django] 관리자 admin - Djangogirls (0) | 2020.07.27 |
[Django] 블로그 사이트 프로젝트 1 - Djangogirls (0) | 2020.07.25 |
[Django] 프레임워크 기초 실습 준비 - 파이썬, 가상환경, Django 설치 (0) | 2020.07.25 |