반응형
📘 『시마당 프로젝트 따라하기』
4장. 시 모델 만들기: Poem과 Author
작성자: easyfly
작성일: 2025년 7월 11일
🟧 1. 모델이란?
- 모델(model)은 웹서비스에서 데이터를 설계하는 설계도입니다.
- 우리는 poem 앱 안에 작가(Author)와 시(Poem) 모델을 만들어
시니어들의 작품을 저장하고 관리할 수 있도록 합니다.
🟦 2. 모델 정의
📁 위치
madang/poem/models.py
📄 코드 작성
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=50)
bio = models.TextField(blank=True)
def __str__(self):
return self.name
class Poem(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
author = models.ForeignKey(Author, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
🗂️ 모델 설명
모델 | 필드명 | 설명 |
Author | name | 작가 이름 (최대 50자) |
Author | bio | 작가 소개 (비워도 가능) |
Poem | title | 시 제목 |
Poem | content | 시 본문 |
Poem | author | 작가 (Author 모델과 연결) |
Poem | created_at | 작성일 (자동 기록) |
🟧 3. 모델을 DB에 적용하기 (마이그레이션)
1️⃣ 마이그레이션 파일 생성
python manage.py makemigrations
출력 예시:
Migrations for 'poem':
poem/migrations/0001_initial.py
- Create model Author
- Create model Poem
2️⃣ 실제 DB에 적용
python manage.py migrate
📝 정리
항목 | 상태 |
Author 모델 생성 | ✅ 완료 |
Poem 모델 생성 | ✅ 완료 |
마이그레이션 파일 생성 | ✅ 완료 |
DB 반영 (migrate) | ✅ 완료 |
다음 예고 – 『5장. 관리자 페이지에 모델 등록하기』
- Django 관리자(admin) 페이지를 통해 작가와 시를 직접 등록해볼 수 있습니다.
- 모델을 admin.py에 등록하고, 관리자 계정을 만들어 관리화면에 접속하는 방법을 배웁니다.
'HTML5 > 반응형 웹' 카테고리의 다른 글
시 업로드 페이지 만들기 (템플릿과 폼) (1) | 2025.07.13 |
---|---|
관리자 페이지에 모델 등록하기 (1) | 2025.07.12 |
Django 프로젝트 시작과 앱 만들기 (0) | 2025.07.10 |
Python 가상환경 설정과 Django 설치 (4) | 2025.07.09 |
시마당 프로젝트 따라하기 (1) | 2025.07.08 |