[python] Django로 블로그 애플리케이션 개발하기

Django는 Python으로 작성된 오픈 소스 웹 애플리케이션 프레임워크로, 빠르고 효율적으로 웹 애플리케이션을 개발할 수 있도록 해줍니다.

이 튜토리얼에서는 Django를 사용하여 기본적인 블로그 애플리케이션을 어떻게 만들 수 있는지 알아보겠습니다. 블로그 애플리케이션은 게시물을 작성하고 편집하며, 이를 웹페이지에서 보여주는 기능을 포함합니다.

목차

  1. 프로젝트 설정
  2. 모델 정의
  3. URL 및 View 설정
  4. 템플릿 작성
  5. 관리자 페이지 설정

프로젝트 설정

먼저, Django 프로젝트를 생성하고 기본적인 설정을 합니다.

django-admin startproject blog_project
cd blog_project
python manage.py startapp blog

모델 정의

다음으로, 블로그 글에 대한 모델을 정의합니다. models.py 파일에 아래의 코드를 추가합니다.

from django.db import models
from django.urls import reverse

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('post_detail', args=[str(self.id)])

URL 및 View 설정

이제 URL과 View를 설정하여 블로그 글을 보여줄 수 있도록 합니다.

# urls.py
from django.urls import path
from .views import PostDetailView

urlpatterns = [
    path('<int:pk>/', PostDetailView.as_view(), name='post_detail'),
]
# views.py
from django.views.generic import DetailView
from .models import Post

class PostDetailView(DetailView):
    model = Post
    template_name = 'blog/post_detail.html'

템플릿 작성

이어서, 블로그 글을 보여줄 템플릿을 작성합니다.


<!-- post_detail.html -->
<h1>{{ post.title }}</h1>
<p>{{ post.content }}</p>
<p>작성일: {{ post.created_at }}</p>
<p>수정일: {{ post.updated_at }}</p>

관리자 페이지 설정

마지막으로, Django의 내장된 관리자 페이지를 통해 블로그 글을 추가하고 수정할 수 있도록 설정합니다.

# admin.py
from django.contrib import admin
from .models import Post

admin.site.register(Post)

이제 python manage.py runserver 명령어로 서버를 실행하고, 브라우저에서 http://127.0.0.1:8000/admin에 접속하여 관리자 페이지에서 블로그 글을 추가하고 관리할 수 있습니다.

이제 Django를 사용하여 기본적인 블로그 애플리케이션을 만드는 방법에 대해 알아보았습니다. Django의 강력한 기능을 활용하여 더욱 다양하고 확장성 있는 블로그를 개발할 수 있습니다.

참고문헌: