지금 장고 프레임 워크 라이브러리를 배우고 있습니다. 그리고 튜토리얼을 읽을 때 클라이언트가 뷰 클래스에 정의되지 않은 http 메소드를 요청하면 어떻게되는지 궁금하다. 예를 들어 내가보기 클래스의 "수"와 "후"메소드를 정의이 경우 Django : 클라이언트가 뷰 클래스에 정의되지 않은 http 메소드를 요청할 때
from snippets.models import Snippet
from snippets.serializers import SnippetSerializer
from django.http import Http404
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
class SnippetList(APIView):
"""
List all snippets, or create a new snippet.
"""
def get(self, request, format=None):
snippets = Snippet.objects.all()
serializer = SnippetSerializer(snippets, many=True)
return Response(serializer.data)
def post(self, request, format=None):
serializer = SnippetSerializer(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)
아래처럼 코드를 작성합니다. 클라이언트가 "put"또는 "delete"메소드를 요청하면 어떻게됩니까? 나는 django 문서를 읽고 dispatch()를 사용하여 View 클래스가 http 메서드를 전달한다고 말했다. 그러나 무슨 일이 일어나고 있는가? 미리 감사드립니다!
내 예제에서 클라이언트가 "put"또는 "delete"HTTP 메소드를 요청하면 오류 페이지가 반환됩니까? – nextdoordoc
예, 이러한 메서드를 정의하지 않으면 오류가 반환됩니다. – Anonymous
마침내 나는 고마워한다!! :) – nextdoordoc