Django/Django Rest 框架 - 禁用 CSRF
Django/Django Rest Framework - Disable CSRF
我正在寻找一种简单的方法来禁用所有 CSRF
验证,以便可以在 Postman 中测试我的 API。
到目前为止,我已经尝试添加 @decorator csrf_exempt
但没有成功。
我也尝试在应用程序中创建一个 disable.py 文件,但也没有用。
另外,我想为所有请求停用,所以有些方法不必在任何地方添加装饰器。这是我刚拿到的一个项目,已经在生产中了,但我想先在 Postman 中开始编写测试,然后再编写测试用例。
我所有的观点都使用 "api_generics.CRUDGeneric",
那个class的声明是:
class CRUDGeneric(mixins.CreateModelMixin, mixins.ListModelMixin, mixins.RetrieveModelMixin,
mixins.DestroyModelMixin, mixins.UpdateModelMixin, viewsets.GenericViewSet):
谢谢建议
@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())),
...
)
这可以解决您的问题..
我正在寻找一种简单的方法来禁用所有 CSRF
验证,以便可以在 Postman 中测试我的 API。
到目前为止,我已经尝试添加 @decorator csrf_exempt
但没有成功。
我也尝试在应用程序中创建一个 disable.py 文件,但也没有用。
另外,我想为所有请求停用,所以有些方法不必在任何地方添加装饰器。这是我刚拿到的一个项目,已经在生产中了,但我想先在 Postman 中开始编写测试,然后再编写测试用例。
我所有的观点都使用 "api_generics.CRUDGeneric",
那个class的声明是:
class CRUDGeneric(mixins.CreateModelMixin, mixins.ListModelMixin, mixins.RetrieveModelMixin,
mixins.DestroyModelMixin, mixins.UpdateModelMixin, viewsets.GenericViewSet):
谢谢建议
@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())),
...
)
这可以解决您的问题..