如何根据 HTML 中的用户表单输入路由 Flask url?

How to route Flask url based on user form input in HTML?

我有一个 html 表单,用户可以在其中输入股票代码。提交代码后,我希望应用程序重定向到 url,它在 url 路径中输入了代码,returns 代码名称。

代码:

@app.route('/', methods=['GET', 'POST'])
def stockInfo():
    if request.method == "POST":
        ticker = request.form['ticker'].upper()
        return redirect('/<ticker>')
    return render_template('home.html')

@app.route('/<ticker>', methods=['GET', 'POST'])
def success(ticker):
    return '<h1>The ticker' + ticker + 'was entered </h1>'

我想要发生的是当用户提交代码 "NFLX" 时它路由到 /NFLX 和 returns "The ticker NFLX was entered"

您可以使用 Flask 的 url_for 函数来完成此操作:

@app.route('/', methods=['GET', 'POST'])
def stockInfo():
    if request.method == "POST":
        ticker = request.form['ticker'].upper()
        return redirect(url_for('success', ticker=ticker))
    return render_template('home.html')

@app.route('/<ticker>', methods=['GET', 'POST'])
def success(ticker):
    return '<h1>The ticker' + ticker + 'was entered </h1>'