我正在嘗試在Django中編寫一個網站,其中的API網址與面向用戶的網址相同。但是我在使用POST請求和CSRF保護的頁面遇到問題。舉例來說,如果我有一個頁面/富/加我希望能夠到POST請求發送到它在兩個方面:如何在某些情況下禁用Django的csrf保護?
- 作爲最終用戶(使用會話cookie身份驗證)提交表單。這需要CSRF保護。
- 作爲API客戶端(使用HTTP請求標頭進行身份驗證)。如果啓用CSRF保護,這將失敗。
我發現了各種禁用CSRF的方法,比如@csrf_exempt,但是這些都禁用了整個視圖。有什麼方法可以在更細粒度的級別啓用/禁用它?或者我只需要從頭開始實施自己的CSRF保護?
您是否檢查[csrf保護文檔](https://docs.djangoproject.com/en/dev/ref/contrib/csrf/)? – machaku 2012-07-07 11:24:44
我曾讀過它的一些部分,但顯然沒有閱讀所有方案。謝謝! – lucas 2012-07-07 11:34:33