Help Reason given for failure: CSRF token missing or incorrect. In general, this can occur when there is a gen

动态 未结 0 115
小小草
小小草 LV1 2023年9月23日 23:40 发表
这个错误通常是由于 CSRF 令牌缺失或不正确导致的。可能有以下几种原因: 1. 浏览器没有启用 Cookie,而 Django 的 CSRF 机制需要使用 Cookie 来存储和验证 CSRF 令牌。 2. 视图函数没有将请求传递给模板的 `render()` 方法。在模板中使用 `{% csrf_token %}` 标签时,需要将请求对象传递给模板的 `render()` 方法。 3. 在 POST 表单中,没有添加 `{% csrf_token %}` 标签。在表单中添加这个标签可以确保表单数据只能被发送到你的网站,而不是其他恶意网站。 4. 如果你没有使用 `CsrfViewMiddleware` 中间件,则需要在视图函数中使用 `csrf_protect` 装饰器来保护表单免受 CSRF 攻击。 5. 表单的 CSRF 令牌无效。如果你在另一个浏览器选项卡中登录或者在登录后点击返回按钮,可能需要重新加载带有表单的页面,因为登录后 CSRF 令牌会发生变化。 如果你的 Django 设置文件中设置了 `DEBUG = True`,则会显示此页面。将其更改为 `False` 可以隐藏此页面,只显示初始错误消息。 你可以使用 `CSRF_FAILURE_VIEW` 设置来自定义此页面。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复