Django Rest框架-为什么我得到一个CSRF cookie不设置只有一个URL,当有与其他形式没有区别



我有这个URL给别人评价一个机会:

path("opportunities/rate/", RateOpportunity.as_view),

我正在使用一个Vue应用程序,使一个post请求和所有其他形式的网站上的工作很好,我可以使请求和发布内容,但这个特定的端点给我一个CSRF cookie不设置错误。这个形式和其他形式没有区别。

这是我正在使用的视图:

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方法,所以你可以删除它。

在你的前端框架,当你发送请求后端-你添加像withCredentials = true;。我想我不是领跑者。

但是cookie只是浏览器的特性,所以要确保设置了cookie

最新更新