Django CSRF在扩展页面中使用时失败

时间:2011-08-08 14:05:59

标签: django

所有页面都从基本模板扩展而来。 基本模板中有一个表单,表单中有CSRF标记。在主页上提交表单时,一切正常。但是对于所有其他页面(也从相同的基本模板扩展),提交失败并出现以下错误: 禁止的(403) CSRF验证失败。请求中止。

使用Firebug检查页面时,缺少保存CSRF令牌的隐藏输入字段。

1 个答案:

答案 0 :(得分:0)

你需要这样做 -

  1. 在设置中修改 - MIDDLEWARE_CLASSES = ('django.middleware.csrf.CsrfViewMiddleware')
  2. 在模板中的任何表单旁边,添加 - <form method="post" class="login_form" name="frmlogin">{% csrf_token %}
  3. 这可以解决您的问题......