POST
▶ 게시글 데이터 생성하기
성공했을 경우 201 Created 응답
실패했을 경우 400 Bad request 응답
# articles > views.py
article_list view 함수의 구조를 변경한다
(method에 따라서 분기처리를 한다)
더보기
from rest_framework.response import Response
from rest_framework.decorators import api_view
from rest_framework import status
from .models import Article
from .serializers import ArticleListSerializer, ArticleSerializer
@api_view(['GET', 'POST'])
def article_list(request):
if request.method == 'GET':
articles = Article.objects.all()
serializer = ArticleListSerializer(articles, many=True)
return Response(serializer.data)
elif request.method == 'POST':
serializer = ArticleSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
@api_view(['GET'])
def article_detail(request, article_pk):
article = Article.objects.get(pk=article_pk)
serializer = ArticleSerializer(article)
return Response(serializer.data)
# 서버 켜기
save all
python manage.py runserver
POST로 바꾼 후에 Send 버튼 누르기
http://127.0.0.1:8000/api/v1/articles/
그러면 id가 21인 새로운 애가 만들어진다.
그 데이터를 우리에게 그대로 제공해주는 것
(원래 20개였는데, 이제 21개가 되었다)
DB에서 봤을 때도, 잘 저장되어 있는 걸 알 수 있다.
'WEB > Django prac' 카테고리의 다른 글
[Django prac][DRF with Single Model] 9. PUT 수정 (0) | 2024.04.15 |
---|---|
[Django prac][DRF with Single Model] 8. delete (0) | 2024.04.15 |
[Django prac][DRF with Single Model] 6. 서버 켜서 확인해보기 (0) | 2024.04.15 |
[Django prac][DRF with Single Model] 5. Get-Detail (0) | 2024.04.15 |
[Django prac][DRF with Single Model] 4. View함수 작성, 서버 켜서 결과 확인 (0) | 2024.04.15 |