django tutorial - pyburger 2

Page content

공지

  • 멀티캠퍼스 수업 보조자료로 활용하기 위해 아래 교재 내용을 발췌하였음을 알립니다.

Untitled

별도의 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

Untitled

데이터베이스 살펴보기

  • 아래와 같이 DB Browser for Sqlite 실행하고 데이터베이스 열기 버튼을 누른 후 프로젝트 경로로 이동한다.

Untitled

Untitled

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로 돌아와 생성된 테이블을 확인한다.

Untitled