Django REST framework은 Django 기반의 웹 애플리케이션을 개발할 때 API를 쉽게 만들고 관리할 수 있게 도와주는 강력한 도구입니다. 이번에는 Django REST framework를 사용하여 공지사항을 처리하는 방법에 대해 알아보겠습니다.
1. 모델 설계
먼저, 공지사항을 저장할 모델을 설계해야 합니다. 예를 들어, 다음과 같이 Notice
라는 모델을 생성할 수 있습니다.
from django.db import models
class Notice(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
위 코드에서는 title
, content
, created_at
필드를 가진 Notice
모델을 정의했습니다.
2. 시리얼라이저 생성
Django REST framework에서는 시리얼라이저를 사용하여 데이터를 직렬화하고 역직렬화하는 작업을 합니다. 공지사항을 처리하기 위해서는 Notice
모델에 대한 시리얼라이저를 생성해야 합니다.
from rest_framework import serializers
from .models import Notice
class NoticeSerializer(serializers.ModelSerializer):
class Meta:
model = Notice
fields = ['id', 'title', 'content', 'created_at']
위 코드에서는 Notice
모델을 사용하는 NoticeSerializer
를 생성하고, id
, title
, content
, created_at
필드를 시리얼라이즈합니다.
3. 뷰 생성
이제 공지사항과 관련된 API를 처리할 뷰를 생성해야 합니다. views.py
파일에 다음과 같이 코드를 작성할 수 있습니다.
from rest_framework import viewsets
from .models import Notice
from .serializers import NoticeSerializer
class NoticeViewSet(viewsets.ModelViewSet):
queryset = Notice.objects.all()
serializer_class = NoticeSerializer
위 코드에서는 Notice
모델에 대한 NoticeViewSet
를 작성하고, queryset
과 serializer_class
속성을 설정합니다.
4. URL 매핑
마지막으로, 생성한 뷰를 URL과 매핑하여 API를 사용할 수 있도록 해야 합니다. urls.py
파일에 다음과 같이 코드를 추가할 수 있습니다.
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import NoticeViewSet
router = DefaultRouter()
router.register('notices', NoticeViewSet)
urlpatterns = [
path('api/', include(router.urls)),
]
위 코드에서는 DefaultRouter
를 사용하여 NotiveViewSet
을 매핑하고, api/notices/
URL에서 해당 API를 사용할 수 있도록 설정합니다.
이제 Django REST framework를 사용하여 공지사항을 처리하는 기능을 구현할 준비가 되었습니다. 필요에 따라 뷰나 모델을 추가로 확장하고, 다양한 API 엔드포인트를 만들어 활용할 수 있습니다.
더 자세한 내용은 Django REST framework 공식 문서를 참고하시기 바랍니다.