Javascript Django CSRF验证失败

Javascript Django CSRF验证失败,javascript,python,django,Javascript,Python,Django,我在Django中实现一个用于注销用户的按钮时遇到问题(我正在为一个现有的项目做贡献,不幸的是,该项目还没有使用现有的Django auth模型) 我有一个观点(已经存在): 和base.html中的一个按钮 <form action = 'logout/' method = 'post'> {%csrf_token%} <input class ='formGo' type = 'submit' value='logout' style = 'float:none:'>

我在Django中实现一个用于注销用户的按钮时遇到问题(我正在为一个现有的项目做贡献,不幸的是,该项目还没有使用现有的Django auth模型)

我有一个观点(已经存在):

和base.html中的一个按钮

<form action = 'logout/' method = 'post'>
{%csrf_token%}
<input class ='formGo' type  = 'submit' value='logout' style = 'float:none:'>
</form>

{%csrf_令牌%}
当我尝试使用按钮时,我被禁止:403。CSRF验证失败。请求被中止


想法?

问题是,您必须在
注销
视图中使用
RequestContext
而不是
注销
视图中,而是在呈现
base.html
模板的视图中使用

如果模板的上下文不包含
csrf\u标记
,则
{%csrf\u标记%}
模板标记不会执行任何操作,而不会呈现隐藏的csrf输入字段,如下所示:

  <input type="hidden" value="4cEL0P1bToqoOhZL3CLRUFqxIWHWcnnf" name="csrfmiddlewaretoken">


您可以使用
RequestContext
或手动生成CSRF令牌并将其添加到模板的上下文中(如中所述)。

{%CSRF_令牌}
上是否缺少
%
?另外,
呈现到_响应
调用后出现语法错误。噢,谢谢,当我把问题放在堆栈溢出上时,这是一个复制/粘贴错误;它在我的代码中。我会修好的,谢谢!检查
POST
通过浏览器的开发工具发送的数据,查看csrf_令牌是否真的随表单一起发送。
  <input type="hidden" value="4cEL0P1bToqoOhZL3CLRUFqxIWHWcnnf" name="csrfmiddlewaretoken">