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

Flask中redirect(url_for())失效求助:注册页提交后无法跳转首页

问题分析与解决

你的代码里有一个关键逻辑错误,导致点击提交后无法触发跳转:

  • 请求方法判断错误:你写的if request == 'POST':是把整个request对象和字符串'POST'做比较,这永远不会成立,正确的写法应该是判断request.method是否等于'POST'。

修正后的完整代码如下:

from flask import Flask, redirect, url_for, render_template, request

app = Flask(__name__)

@app.route('/', methods = ['GET', 'POST'])
def login():
    if request.method == 'POST':  # 修正判断条件
        input1 = request.form.get("input1")
        input2 = request.form.get("input2")
        
        return redirect(url_for("home"))
    
    return render_template('lo.html')

@app.route('/home', methods = ['GET','POST'])
def home():
    return render_template('ho.html')

if __name__ == "__main__":
    app.run(debug=True)

另外还要检查前端lo.html的表单设置:

  • 确保表单标签包含method="POST"属性,比如:
    <form method="POST">
        <input type="text" name="input1">
        <input type="password" name="input2">
        <button type="submit">提交</button>
    </form>
    
  • 输入框的name属性要和后端request.form.get里的参数一致(即input1和input2),否则无法正确获取表单数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 15:25:15