HTML5/반응형 웹

시 모델 만들기: Poem과 Author

forSilver 2025. 7. 11. 12:39
반응형

 

📘 『시마당 프로젝트 따라하기』

4장. 시 모델 만들기: Poem과 Author

작성자: easyfly
작성일: 2025년 7월 11일

3장까지 진행 상황


🟧 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

실제 DB에 적용


📝 정리

항목 상태
Author 모델 생성 ✅ 완료
Poem 모델 생성 ✅ 완료
마이그레이션 파일 생성 ✅ 완료
DB 반영 (migrate) ✅ 완료

다음 예고 – 『5장. 관리자 페이지에 모델 등록하기』

  • Django 관리자(admin) 페이지를 통해 작가와 시를 직접 등록해볼 수 있습니다.
  • 모델을 admin.py에 등록하고, 관리자 계정을 만들어 관리화면에 접속하는 방법을 배웁니다.