Django Rest Framework "detail": "Метод \"GET\" не разрешен."
Я пытаюсь создать api с помощью django rest framework, но у меня возникла проблема.
@api_view(['PUT', ])
def api_update_blog_view(request, title):
try:
post = Post.objects.get(title=title)
except Post.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
if request.method == 'PUT':
serializer = PostSerializer(post, data=request.data)
data = {}
if serializer.is_valid():
serializer.save()
data["success"] = "update successful"
return Response (data=data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
urlpatterns = [
path('<str:title>/update', api_update_blog_view, name="update"),
]
Когда я пытаюсь обновить пост, я вижу "деталь": "Метод "GET" не разрешен." ошибка. В чем проблема?
Это происходит, когда вы используете неправильный метод для вызова api. Например, вы определили метод route как PUT
в вашем представлении, но обращаетесь к нему методом GET
, отсюда и ошибка. В этом случае вам понадобится инструмент для тестирования api с правильными методами. Попробуйте использовать Postman или Thunder Client для VS кода.