[5주차 - Day3] Django로 동적 웹 페이지 만들기

2023. 5. 11. 23:37BOOTCAMP/프로그래머스 인공지능 데브코스

#models.py
from django.db import models

class.Coffee(models.Model)
    name = models.Charfield(default="", max_length=25)
    price = models.IntegerField(default=0)
    is_ice = models.BooleanField(default=False)

장고에 커피를 추가하고, 그 안에 name, price, is_ice를 추가합니다.

#admin.py

from django.contrib import admin
from .models import Coffee

admin.site.register(Coffee)

 

class <모델 이름>(models.Model):
    name = models.CharType()
    price = models.IntegerField()
    is_ice = models.BooleanField()
    """
    문자열 : CharField
    숫자 : IntegerField, SmallIntegerField, ...
    논리형 : BooleanField
    시간/날짜 : DateTimeField
    ...
    """

클래스를 바탕으로 만들어지는 객체는 하나의 행이 되고, 행은 각각 필드를 가지게 됩니다.

커피 테이블에는 name, price, is_ice를 가지며, 몇 가지 옵션을 가집니다.

 

default은 처음 모델 행의 디폴트 값을 지정해줄 수 있으며, 그다음엔 필드가 비어있어도 되는지 여부를 확인하는 null, 어떤 필드의 제약 조건을 걸 수 있습니다.

 

null의 경우 디폴트가 False, 특정 필드는 반드시 필요한 파라미터가 있는데, CharField에는 max_length를 필수로 하는 매개 변수를 가집니다.

admin.py에는 models.py에 있는 내용을 가져와 모델을 관리할 수 있게 됩니다.

 

홈페이지 Coffees가 제대로 포함되어 있는 것을 확인해볼 수 있습니다.

커피 컬럼을 어느 object인지 확인하는 게 어려운데, 이를 위해서는 파이썬의 스트링을 써야 합니다.

스트링은 커피 객체를 출력하는 과정에서 어떤 문자열을 골라줄지 알려주는 함수.

 

class Coffee(models.Model):
	def __str__(self):
    	return self.name
    name = models.Charfield(default="", max_length=30)
    price = models.IntegerField(default=0)
    is_ice = models.BooleanField(default=False)