Python 기반으로 만들어진 무료 오픈소스 웹 어플리케이션 프레임워크
백엔드를 담당하는 파이썬 풀스택 웹프레임워크
MTV 개발 방식
Model : 테이블을 정의한다. (DB와 연동)
Template : 사용자가 보게 될 화면의 모습을 정의한다
View : 애플리케이션의 제어 흐름 및 처리 로직을 정의한다.
대표적 웹 서버
데이터베이스
pip install django
django-admin --version
django-admin starproject <mydjango> .
Django 프로젝트 설정 변경
mydjango/settings.py
LANGUAGE_CODE = 'ko'
TIME_ZOME = 'Asia/Seoul'
import os
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, STATIC_URL)
Django 프로젝트 DB 생성과 Server 시작
python manage.py migrate
db.sqlite3
파일이 생성됨python manage.py runserver
python manage.py createsuperuser
python manage.py startapp <App명>
mydjango/settings.py
INSTALLED_APPS = [
...,
'<App명>' # 추가
]
Model class 만들기
from django.db import models
from django.utils import timezone
class Post(models.Model):
# 작성자
author = models.ForeignKey('auth.User', 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)
python manage.py makemigrations <app이름>
## 작업지시 파일 생성python manage.py migrate blog
python manage.py makemigrations <app-name>
# 마이그레이션 파일 생성python manage.py migrations <app-name>
# 마이그레이션 적용python manage.py showmigrations <app-name>
# 마이그레이션 적용 현황python manage.py sqlmigrations <app-name> <migration-name>
# 지정 마이크레이션의 SQL 내용