“ CSRF失败:CSRF令牌丢失或不正确。” 在Django Rest中:UpdateModelMixin

斯内哈(Sneha Shinde)

我正在使用来自Django rest框架的UpdateModelMixin来更新Test模型中的条目。

from django.utils.decorators import method_decorator
from django.views.decorators.cache import never_cache
from rest_framework import mixins, filters, viewsets
decorators = [never_cache]

@method_decorator(decorators, name='dispatch')
class TestViewSet(mixins.ListModelMixin,
                     mixins.RetrieveModelMixin,
                     mixins.UpdateModelMixin,
                     viewsets.GenericViewSet):

    queryset = Test.objects.all()
    serializer_class = TestSerializer
    filter_backends = [filters.DjangoFilterBackend]
    filter_class = TestFilter

当我尝试从测试模型更新对象时,出现以下错误-

“ detail”:“ CSRF失败:CSRF令牌丢失或不正确。”

谁能帮我解决这个问题?

蒂姆·辛普金斯(Timm Simpkins)

这是一个古老的问题,但值得回答,因为人们可能会在此页面上寻找一个问题。

如果存在csrf令牌问题,则表示您使用的页面未传递csrf令牌。由于您没有说明如何访问数据,因此我将假定它是JavaScript,因为这很有可能,因此,我将向您提供一个示例,说明如何在其中进行修复,但是过程仅是为了获取数据。现有cookie中的csrf令牌,然后将其作为cookie传递给API。

这是来自JavaScript的传递csrf令牌的示例AJAX调用:

var data={ foo: "bar" };
$.ajax({
    url: '/api/schedule/',
    type: "PATCH",
    data: JSON.stringify(data),
    beforeSend: function(xhr) {
        xhr.setRequestHeader('X-CSRFToken', Cookies.get('csrftoken'))
    },
    contentType: "application/json",
});

编辑:这使用JavaScript cookie库。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CSRF令牌丢失或在Django中不正确

来自分类Dev

将django与邮递员{“ detail”:“ CSRF失败:CSRF令牌丢失或不正确。”}

来自分类Dev

Django 1.9:使用Stripe的CSRF令牌丢失或不正确

来自分类Dev

禁止(CSRF令牌丢失或不正确)Django错误

来自分类Dev

Django 1.9.2 + jQuery + POST-错误403-CSRF令牌丢失或不正确

来自分类Dev

Django + VueJS:POST 403禁止-CSRF令牌丢失或不正确

来自分类Dev

使用Django和JS的“禁止(CSRF令牌丢失或不正确。):”

来自分类Dev

Django 服务器 403(CSRF 令牌丢失或不正确)

来自分类Dev

Django Rest Framework CSRF令牌失败

来自分类Dev

Django:使用 AJAX 上传文件:表单表示文件输入字段为空(或 CSRF 令牌丢失或不正确)

来自分类Dev

CSRF失败:CSRF令牌丢失或不正确

来自分类Dev

Django CSRF cookie设置不正确

来自分类Dev

没有jQuery的Django CSRF丢失或不正确的Ajax POST(Vanilla JavaScript)

来自分类Dev

禁止(CSRF令牌丢失或不正确。)

来自分类Dev

CSRF令牌丢失或无效的Django

来自分类Dev

在Django中测试CSRF令牌

来自分类Dev

详细信息:“ CSRF失败:CSRF令牌丢失或不正确。”

来自分类Dev

CSRF验证在Django中失败

来自分类Dev

python Django REST Framework CSRF失败:未设置CSRF cookie?

来自分类Dev

Django CSRF令牌丢失或错误错误

来自分类Dev

CSRF令牌在一页上丢失或不正确

来自分类Dev

Python 请求:CSRF 令牌丢失或不正确

来自分类Dev

Django 1.6中CSRF令牌Cookie的问题

来自分类Dev

为什么Django rest框架中的时间不正确

来自分类Dev

使用Django Rest Framework时如何获取初始CSRF令牌

来自分类Dev

如何忽略发送到Django REST Framework的CSRF令牌?

来自分类Dev

CSRF令牌只是在Django中随机触发

来自分类Dev

在Django中测试POST端点时如何包含csrf令牌?

来自分类Dev

无法在javascript提取中设置Django X-CSRF令牌

Related 相关文章

  1. 1

    CSRF令牌丢失或在Django中不正确

  2. 2

    将django与邮递员{“ detail”:“ CSRF失败:CSRF令牌丢失或不正确。”}

  3. 3

    Django 1.9:使用Stripe的CSRF令牌丢失或不正确

  4. 4

    禁止(CSRF令牌丢失或不正确)Django错误

  5. 5

    Django 1.9.2 + jQuery + POST-错误403-CSRF令牌丢失或不正确

  6. 6

    Django + VueJS:POST 403禁止-CSRF令牌丢失或不正确

  7. 7

    使用Django和JS的“禁止(CSRF令牌丢失或不正确。):”

  8. 8

    Django 服务器 403(CSRF 令牌丢失或不正确)

  9. 9

    Django Rest Framework CSRF令牌失败

  10. 10

    Django:使用 AJAX 上传文件:表单表示文件输入字段为空(或 CSRF 令牌丢失或不正确)

  11. 11

    CSRF失败:CSRF令牌丢失或不正确

  12. 12

    Django CSRF cookie设置不正确

  13. 13

    没有jQuery的Django CSRF丢失或不正确的Ajax POST(Vanilla JavaScript)

  14. 14

    禁止(CSRF令牌丢失或不正确。)

  15. 15

    CSRF令牌丢失或无效的Django

  16. 16

    在Django中测试CSRF令牌

  17. 17

    详细信息:“ CSRF失败:CSRF令牌丢失或不正确。”

  18. 18

    CSRF验证在Django中失败

  19. 19

    python Django REST Framework CSRF失败:未设置CSRF cookie?

  20. 20

    Django CSRF令牌丢失或错误错误

  21. 21

    CSRF令牌在一页上丢失或不正确

  22. 22

    Python 请求:CSRF 令牌丢失或不正确

  23. 23

    Django 1.6中CSRF令牌Cookie的问题

  24. 24

    为什么Django rest框架中的时间不正确

  25. 25

    使用Django Rest Framework时如何获取初始CSRF令牌

  26. 26

    如何忽略发送到Django REST Framework的CSRF令牌?

  27. 27

    CSRF令牌只是在Django中随机触发

  28. 28

    在Django中测试POST端点时如何包含csrf令牌?

  29. 29

    无法在javascript提取中设置Django X-CSRF令牌

热门标签

归档