Django/Django Rest 框架 - 禁用 CSRF

Posted

技术标签:

【中文标题】Django/Django Rest 框架 - 禁用 CSRF【英文标题】:Django/Django Rest Framework - Disable CSRF 【发布时间】:2017-07-02 22:30:23 【问题描述】:

我正在寻找一种简单的方法来禁用所有CSRF 验证,以便在 Postman 中测试我的 API。

到目前为止,我已经尝试添加 @decorator csrf_exempt 没有成功。 我也尝试在应用程序中创建一个 disable.py 文件,但也没有用。

我还想为所有请求停用,所以有些方法不必在任何地方添加装饰器。这是我刚拿到的一个项目,已经投入生产,但我想先在 Postman 中编写测试,然后是 TestCases。

我所有的观点都在使用“api_generics.CRUDGeneric”,

该类的声明是:

class CRUDGeneric(mixins.CreateModelMixin, mixins.ListModelMixin, mixins.RetrieveModelMixin,
                  mixins.DestroyModelMixin, mixins.UpdateModelMixin, viewsets.GenericViewSet):

谢谢建议

【问题讨论】:

可以帮助***.com/a/30875830/1507546 我试过了,但它并没有解决我的问题,我遇到了其他错误 我认为你应该用这些错误更新你的帖子 【参考方案1】:

@62009030 你应该能够做到@smarber 提到的..这也可以工作..这是添加 csrf_exempt 的遍历方式

from django.conf.urls import patterns, url
from django.views.decorators.csrf import csrf_exempt

import views

urlpatterns = patterns('',
    url('^asimpleurl/$', csrf_exempt(views.CRUDGeneric.as_view())),
    ...
)

这可以解决您的问题..

【讨论】:

以上是关于Django/Django Rest 框架 - 禁用 CSRF的主要内容,如果未能解决你的问题,请参考以下文章

在 Django Rest 框架中处理 Paypal 付款/结帐

Django 测试休息框架:APIRequestFactory vs APIClient

django-rest-auth + django-allauth + angular2

从 Django django-rest-framework 视图有条件地返回 JSON 或 HTML 响应

django-rest-framework、多表模型继承、ModelSerializers 和嵌套序列化器

无论数据源如何,使用 Django/Django Rest Framework 验证和保存数据的正确过程是啥?