分兩種情況,一種是正常提交,另一種是用ajax提交
正常提交的話,每個表單後面都要有這個標籤,在views.py裡面相應的方法有兩種書寫方式:
方法一:
c = {}
c.update(csrf(request))
return render_to_response('news/add.html',c)
方法二:
return render_to_response('news/add.html', {},context_instance=requestcontext(request))
注意,對於方法二,一定要注意是在顯示表單之前那個方法上面加上context_instance=requestcontext(request),就像下面這樣:
對於登入視窗,顯示登入視窗對應的views方法為:
def index(request):
return render_to_response('account/login.html', {},context_instance=requestcontext(request))
注意是在這個方法的return函式裡面加上context_instance=requestcontext(request),而不是在響應提交按鈕的那個views方法裡面加。這一點尤其需要注意。
如果是ajax提交的話,要在整個專案的首頁,加上這一段**:
//新加處理ajax提交表單的處理方式
jquery(document).ajaxsend(function(event, xhr, settings) }}
return cookievalue;
}function sameorigin(url)
function safemethod(method)
if(!safemethod(settings.type) && sameorigin(settings.url))
});
views.py裡面正常書寫就行了,不需要做特殊處理:
return render_to_response('news/add.html')
關於csrf的處理一定要參照官方**:
django中http請求報403解決方案
不再贅述,網上有的是 views中並沒有寫死到底是接收post還是get,我們可以自己進行判斷,如不判斷,都可以接收 如下 csrf exempt get請求返回如下 post請求返回如下 用postman等進行請求時,會報403 解決方案如下 1 由於我們的是測試介面,所以直接新增裝飾器csrf ...
403問題集錦
如果你是訪問乙個網頁出現這個問題 說明這個網頁是一般人是關閉的 禁止訪問的 你就不要看了 錯誤 403.1 403.1 錯誤是由於 執行 訪問被禁止而造成的,若試圖從目錄中執行 cgi isapi 或其他可執行程式,但該目錄不允許執行程式時便會出現此種錯誤。錯誤 403.2 403.2 錯誤是由於 ...
跨域403問題
前後端分離製作web開發經常會碰見報錯403問題,以下是解決方案 在後端的解決方案 在後端 中新增config檔案解決 將下面 複製到springboot的config包中解決 import org.springframework.context.annotation.configuration i...