현제의 현재이야기
[DRF/RESTful API] Read 본문
Serializer는 rest-framework에서 form의 역할을 함
form은 HTML form을 생성하나, serializer는 json 형식의 결과물을 뱉음
나머지는 모델, 폼과 똑같고 다른게 form이 아니라 serializers.py를 작성한다.
serializers.py
from rest_framework import serializers
from dataclasses import field
from .models import Blog
class BlogSerializer(serializers.ModelSerializer):
class Meta:
model = Blog
fields = ['id', 'title', 'body']
read_only_fields = ['id']
다른 점이 views.py였다.
views.py
from .models import Blog
from .serializers import BlogSerializer
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
'''
전체 블로그를 조회
'''
@api_view(['GET']) # GET 요청만 받겠다.
def get_all_blogs(request):
blogs = Blog.objects.all()
serializer = BlogSerializer(blogs, many=True)
return Response(serializer.data)
'''
한 블로그 조회
'''
@api_view(['GET'])
def get_one_blog(request, pk):
try: # 아래 코드를 시도
blog = Blog.objects.get(pk=pk)
serializer = BlogSerializer(blog)
return Response(serializer.data)
except Blog.DoesNotExist: # 예외(오류) 발생 시 아래 코드 실행
return Response(status=status.HTTP_404_NOT_FOUND)
@api_view([''POST'])가 들어오면 완저히 무시해버린다.
'Django' 카테고리의 다른 글
새로운 프로젝트 구상 (0) | 2022.11.16 |
---|---|
[멋쟁이사자] django 로 개인 블로그 만들기 과제 리뷰 (0) | 2022.07.23 |
what is api?? (0) | 2022.07.22 |
장고 복습 7/9 (0) | 2022.07.09 |
장고 복습 7/8 (2) | 2022.07.08 |
Comments