Django Rest Framework - Почему я получаю CSRF cookie не установленным только на одном URL, когда нет НИКАКИХ отличий от других форм
У меня есть этот URL, чтобы кто-то мог оценить возможность:
path("opportunities/rate/", RateOpportunity.as_view),
Я использую приложение Vue, чтобы сделать запрос на пост, и все другие формы на сайте работают нормально, я могу делать запросы и размещать контент, но эта конкретная конечная точка дает мне ошибку CSRF cookie not set. Нет никакой разницы между этой формой и другими формами.
Вот представление, которое я использую:
class RateOpportunity(generics.CreateAPIView):
permission_classes = [permissions.IsAuthenticated]
serializer_class = OpportunityRateSerializer
name = "rate-opportunity"
def get_queryset(self):
id = self.kwargs["pk"]
return Opportunity.objects.all().filter(opportunity=id)
Почему я получаю эту ошибку только на этой конечной точке, а не на любой другой?
во-первых - вам нужно вызвать метод as_view
в вашем пути.
во-вторых. Как я знаю, CreateAPIView
вообще не использует метод get_queryset
, поэтому его можно убрать.
В вашем frontend framework, когда вы отправляете запрос на backend - вы добавляете что-то вроде withCredentials = true;
. не знаю, я не frontender.
Но cookie - это только функция браузера, поэтому убедитесь, что cookie установлен