2017-02-14 67 views
3

我正在尋找一種簡單的方法來禁用所有的CSRF驗證,以測試我的API在郵遞員。Django/Django Rest框架 - 禁用CSRF

直到現在,我已嘗試添加@decorator csrf_exempt沒有成功。 我也嘗試在應用程序內創建一個disable.py文件,但也沒有工作。

另外我想爲所有請求取消激活,所以有些方法不必在任何地方添加裝飾器。我剛剛得到的這個項目已經在Production中,但我想先開始在Postman,後來的TestCases中編寫測試。

所有我的意見是使用 「api_generics.CRUDGeneric」,

那類的聲明是:

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

由於是建議

+0

可能會幫助http://stackoverflow.com/a/30875830/1507546 – smarber

+0

我試過了,但它不能解決我的問題,我得到了其他錯誤 – 62009030

+0

我認爲你應該更新你的文章與這些錯誤 – smarber

回答

4

@ 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())), 
    ... 
) 

這可能是一個解決您的問題..