所有頁面均從基本模板擴展而來。 基本模板中有一個表單,表單具有CSRF標籤。在主頁上提交表單時,一切正常。但是對於所有其他頁面(也從相同的基本模板擴展而來),提交失敗,並顯示以下錯誤: 禁止(403) CSRF驗證失敗。請求中止。Django CSRF在擴展頁面中使用時失敗
使用Firebug檢查頁面,缺少包含CSRF標記的隱藏輸入字段。
所有頁面均從基本模板擴展而來。 基本模板中有一個表單,表單具有CSRF標籤。在主頁上提交表單時,一切正常。但是對於所有其他頁面(也從相同的基本模板擴展而來),提交失敗,並顯示以下錯誤: 禁止(403) CSRF驗證失敗。請求中止。Django CSRF在擴展頁面中使用時失敗
使用Firebug檢查頁面,缺少包含CSRF標記的隱藏輸入字段。
你需要做到這一點 -
MIDDLEWARE_CLASSES = ('django.middleware.csrf.CsrfViewMiddleware')
<form method="post" class="login_form" name="frmlogin">{% csrf_token %}
這將解決您的問題...
我已經擁有了這兩者。 {%csrf_token%}標記位於基本模板中。這僅適用於主頁而不適用於其他頁面,全部從基本模板擴展而來。 –
嘗試在派生的模板中放入'{%csrf_token%}'以確保問題出現,然後我們可以看到如何處理它... –
我想你已經像Srikar在第一個答案時說過的那樣(或者它甚至不能在基本模板上工作),那麼你能告訴我們更多關於擴展頁面嗎?也許有些代碼?我一直在使用基本模板和擴展它的頁面的表單,並且從來沒有遇到過您的問題(並且沒有特別設置) –