butler_ddochi/blog/models.py
2025-01-17 15:41:11 +09:00

21 lines
821 B
Python

from django.db import models
from django.conf import settings
from markdown_it import MarkdownIt
from taggit.managers import TaggableManager
class Post(models.Model):
title = models.CharField(max_length=200) # 제목
contents = models.TextField() # 본문 (마크다운 저장)
summary = models.CharField(max_length=2000, blank=True, null=True) # 요약
created_at = models.DateTimeField(auto_now_add=True) # 작성일
updated_at = models.DateTimeField(auto_now=True) # 수정일
tags = TaggableManager()
author = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.CASCADE)
def render_markdown(self):
"""마크다운을 HTML로 변환"""
md = MarkdownIt()
return md.render(self.contents)
def __str__(self):
return self.title