반응형
❤️🔥TIL : Today I Learned❤️🔥
그날그날 내가 공부한 것을 정리하는 것
내일배움캠프 AI트랙 38day
오늘 배운 내용 - DRF 클래스 기반 뷰
이전까지는 함수 기반으로 API뷰를 작업했었는게 Rest Framework를 사용하면 클래스 기반 뷰로도 만들 수 있다.
실제로 클래스 기반의 뷰를 많이 사용하기도 한다고 한다.
from rest_framework.decorators import api_view
from rest_framework.response import Response
from articles.models import Article
from articles.serializers import ArticleSerializer
# 함수형 view
@api_view(['GET', 'POST'])
def index(request):
# get 요청에 대한 처리
if request.method == 'GET':
print('get!!')
return Response({'message': 'get success!!'})
# post 요청에 대한 처리
if request.method == 'POST':
print('post!!')
return Response({'message': 'post success!!'})
from rest_framework.response import Response
from rest_framework.views import APIView
from articles.models import Article
from articles.serializers import ArticleSerializer
# 클래스형 view
class ArticleView(APIView):
# get 요청에 대한 처리
def get(self, request):
all_articles = Article.objects.all()
return Response(ArticleSerializer(all_articles, many=True).data)
# post 요청에 대한 처리
def post(self, request):
article = ArticleSerializer(data=request.data)
# 검증
article.is_valid(raise_exception=True) # 검증 단계에서 문제가 있을 경우 에러 발생
# 생성
article.save() # 검증 단계에서 문제가 없을 경우 데이터 저장
return Response(article.data)
오늘 멘탈이 깨져서 많은 내용을 공부하지 못했는데 내일을 좀더 챙겨야할것 같다.
반응형