Flask注册账号后无法跳转至首页问题排查
问题原因与修复方案
核心错误1:注册页表单属性拼写错误
你在register.html里的form标签把method拼成了meethod,多写了一个e,导致浏览器默认以GET方式提交表单,注册路由里的form.validate_on_submit()只有POST请求且校验通过才会返回True,所以永远触发不了跳转逻辑,只会重新渲染注册页。
修复方式:把注册模板里的
<form meethod="POST" action="">
改成
<form method="POST" action="">
核心错误2:未配置Flask SECRET_KEY
Flask-WTF的表单校验(包含CSRF防跨站校验)必须依赖SECRET_KEY配置,你当前的main.py里没有加这个配置,就算表单提交方式正确,校验也会直接失败。
修复方式:在main.py的app = Flask(__name__)后新增配置:
app.config['SECRET_KEY'] = 'dev_key_20240601' # 开发阶段可以随便填,生产环境请替换为随机复杂字符串
附加可选修复
你main.py最后启动服务的代码里,__main__中间多了两个空格,运行时如果服务启动失败,把
if __name__ == '__main __':
改成
if __name__ == '__main__':
改完重启服务后提交注册信息,就能正常触发账号创建提示,跳转至首页。
内容的提问来源于stack exchange,提问作者EngineerHus123
相关产品推荐
相关产品推荐

