You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask提示CSRF token missing 按文档配置仍报错问题求助

核心问题:配置加载顺序错误

CSRFProtect 初始化阶段需要读取 SECRET_KEY 生成会话侧的校验令牌,你当前代码先初始化 CSRF 防护、后设置密钥的逻辑,会导致 CSRF 组件初始化时无法获取有效密钥,会话中不会存储正确的 CSRF 令牌,因此前端生成的令牌无法通过后端校验。

修正后的服务端代码如下:

from flask import Flask, render_template, request
from flask_wtf.csrf import CSRFProtect

app = Flask(__name__)
# 先配置SECRET_KEY
app.config["SECRET_KEY"] = 'secret'
# 再初始化CSRF防护组件
csrf = CSRFProtect(app)

@app.route("/reserve", methods=["GET", "POST"])
def reserve():
   if request.method == "GET":
       # 修正原代码多写的多余右括号问题
       return render_template("reserve.html")
   # 此处补充POST请求的业务处理逻辑即可

其他注意事项

  • 原HTML表单中的文本输入框未设置name属性,若后续需要读取提交的姓名参数,可修改为 <input type="text" name="username" placeholder="Name">
  • 若调整配置顺序后仍报错,检查浏览器是否禁用了站点Cookie,Flask的会话依赖Cookie存储CSRF校验基准值,禁用Cookie会导致会话侧令牌丢失。

内容的提问来源于stack exchange,提问作者Shelef tavor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 21:18:05