我有此URL,可供某人对机会进行评级:
path("opportunities/rate/", RateOpportunity.as_view),
我正在使用Vue应用程序进行发布请求,网站上的所有其他表单都工作正常,我可以进行请求并发布内容,但此特定端点给我一个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)
为什么我只在此端点上收到此错误,而在其他任何端点上都没有收到?
1条答案
按热度按时间6jjcrrmo1#
首先,你需要在路径中调用方法
as_view
。其次,据我所知
CreateAPIView
根本不使用get_queryset
方法,所以你可以删除它。在您的前端框架中,当您向后端发送请求时,您是否添加了类似
withCredentials = true;
.idk的内容?但cookie只是浏览器的功能,所以请确保cookie已设置