Я получаю сообщение 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):
...
Надеюсь, это может помочь.