django tutorial - pyburger 2
Page content
공지
- 멀티캠퍼스 수업 보조자료로 활용하기 위해 아래 교재 내용을 발췌하였음을 알립니다.
별도의 app 추가
- application을 생성하는 명령어를 활용하여 app을 생성한다.
python manage.py startapp burgers
- 트리 구조는 다음과 같다.
$ tree -L 2
.
|-- burgers
| |-- __init__.py
| |-- admin.py
| |-- apps.py
| |-- migrations
| |-- models.py
| |-- tests.py
| `-- views.py
|-- config
| |-- __init__.py
| |-- __pycache__
| |-- asgi.py
| |-- settings.py
| |-- urls.py
| |-- views.py
| `-- wsgi.py
|-- db.sqlite3
|-- manage.py
|-- templates
| |-- burger_list.html
| `-- main.html
`-- templates.zip
새 Application을 Django 등록
confing/settings.py
에서 INSTALLED_APPS 리스트에 아래와 같이 추가
INSTALLED_APPS = [
"burgers",
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
]
Model 클래스 구현
- Model 클래스 정의하기 전에 햄버거를 나타낼 수 있는 정보를 몇 가지 정리한다.
- 이름
- 가격
- 칼로리
- burgers/models.py 에서 아래와 같이 코드를 생성한다.
from django.db import models
# Create your models here.
class Burger(models.Model):
name = models.CharField(max_length=20)
price = models.IntegerField(default=0)
calories = models.IntegerField(default=0)
데이터베이스 마이그레이션
- 새로운 테이블을 만들기 위해 다음 명령어를 사용한다.
python manage.py migrate
데이터베이스 살펴보기
- 아래와 같이 DB Browser for Sqlite 실행하고 데이터베이스 열기 버튼을 누른 후 프로젝트 경로로 이동한다.
Burger 클래스 마이그레이션
- Model에 정의한 Burger 클래스가 DB 테이블이 되려면 다음의 두 과정이 필요하다
- 마이그레이션 파일 생성
$ python manage.py makemigrations burgers
Migrations for 'burgers':
burgers\migrations\0001_initial.py
- Create model Burger
- 생성한 마이그레이션 파일을 DB에 적용한다.
$ python manage.py migrate burgers
Operations to perform:
Apply all migrations: burgers
Running migrations:
Applying burgers.0001_initial... OK
- SQLite Browser로 돌아와 생성된 테이블을 확인한다.