Я получаю сообщение post method not allowed

from rest_framework.decorators import api_view

@api_view(['GET', 'POST'])    
def contact(request):
if request.method == 'GET':
    contact = ContactMe.objects.all()
    serializer = ContactMeSerializer(contact, many=True)
    return JsonResponse(serializer.data, safe=True)

elif request.method == 'POST':
    data = JSONParser().parse(request)
    serializer = ContactMeSerializer(data=data)
    if serializer.is_valid():
        serializer.save()
        return JsonResponse(serializer.data, status=201)
    return JsonResponse(serializer.data, safe=False)

Я получаю сообщение post method not allowed, я не знаю, почему я продолжаю получать сообщение post method not allowed. Исходный код приведен ниже. Спасибо

from django.urls import path
from .views import ListingView, SearchView, ListingsView, contact


urlpatterns = [
    path('contact/', contact)
]

Я думаю, что дело не в методе POST. Это проблема аутентификации. Вам нужно добавить декоратор permission_classes.

from rest_framework.decorators import api_view, permission_classes
from rest_framework.permissions import AllowAny

@api_view(['GET', 'POST'])
@permission_classes([AllowAny])
def contact(request):
    ...

Надеюсь, это может помочь.

Вернуться на верх