vue.js Django Rest Framework -为什么我得到的CSRF cookie不是只在一个URL上设置的,而与其他形式没有区别

u0sqgete  于 2023-01-14  发布在  Vue.js
关注(0)|答案(1)|浏览(101)

我有此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)

为什么我只在此端点上收到此错误,而在其他任何端点上都没有收到?

6jjcrrmo

6jjcrrmo1#

首先,你需要在路径中调用方法as_view
其次,据我所知CreateAPIView根本不使用get_queryset方法,所以你可以删除它。
在您的前端框架中,当您向后端发送请求时,您是否添加了类似withCredentials = true;.idk的内容?
但cookie只是浏览器的功能,所以请确保cookie已设置

相关问题