1. 程式人生 > >Django csrf報錯問題的解決方法

Django csrf報錯問題的解決方法

方法一:禁用CSRF驗證機制

在setting.py檔案中刪除csrf中介軟體“django.middleware.csrf.CsrfViewMiddleware”

如果在開發伺服器下直接就解決了,在apache下,需要重啟一下伺服器也可以解決。

但是,顯然去除CSRF驗證機制是一個不夠安全的決定,所以就有了下面的解決方法\r\n

方法二:CSRF驗證設定

如果你是使用的django1.9及以前版本,網上百度獲得的答案將可以很好的解決你的問題。

在return render_to_response(\"template.html\",{\'argv\':argv})後面新增一項

如return render_to_response(\"template.html\",{\'argv\':argv},context_instance=RequestContext(request))

最後再在你的前端頁面上form裡面加入{% csrf_token %}就可以解決問題了。

如果你使用django1.10之後的版本,方式就不太一樣了。

首先,你要在views.py檔案中匯入from django.shortcuts import render

然後在views.py中函式返回頁面時不再使用render_to_response,改用render。因為在1.10版本中不再支援render_to_response來設定csrf驗證

render函式的使用方法:render(request, \"template.html\", {\'test\':test})

最後也再在你的前端頁面上form裡面加入{% csrf_token %}就可以解決問題了。

PS:該解決方法由博主翻閱那坑爹的無中文的官方文件總結得出。