在使用django 的过程中难免的会使用到format表单进行提交,如果出现“CSRF验证失败. 相应中断”.该如何解决呢?

来源:互联网 发布:下载keep健身软件 编辑:程序博客网 时间:2024/06/10 05:27

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 中可以添加一个fromdjango.template importRequestContext,然后,渲染函数render添加即可。例如:returnrender(req,'df_user/login.html',context_instance=RequestContext(req))。

以上,就是出现问题的三种解决办法,希望可以帮到你。

阅读全文
0 0
原创粉丝点击