Django在form提交CSRF验证失败. 相应中断问题

CSRF验证失败. 相应中断.

1).首先,我们可以先看一下出现问题的所在的原因。

  • Your browser is accepting cookies.
  • The view function passes a request to the template's render method.
  • In the template, there is a {% csrf_token %} template tag inside each POST form that targets an internal URL.
  • If you are not using CsrfViewMiddleware, then you must use csrf_protect on any views that use the csrf_token template tag, as well as those that accept the POST data.
 
2),不难发现,我们是在上面的问题中有一个{% csrf_token %},这是一个网络漏洞,在所有的表单的提交中,都需要添加,而且,必须放在format 后面。
接着,我们应该查找一下seting 中的MIDDLEWARE_CLASSES 是否缺少了 django.middleware.csrf.CsrfViewMiddleware这也可能是造成出错的原因。
3).在app 中的views 中可以添加一个from django.template import RequestContext,然后,渲染函数render添加即可。例如:return render(req,'df_user/login.html',context_instance=RequestContext(req))
  

 

原文地址:https://www.cnblogs.com/LexMoon/p/DjangoCSRF.html