gpt4 book ai didi

python - 如何使用 Flask 将 POST 传递到另一个 URL

转载 作者:行者123 更新时间:2023-12-01 02:32:35 25 4
gpt4 key购买 nike

我试图从用户那里获取一些短语,当他/她按下“提交”时,我想使用 Flask 将他/她重定向到另一个带有他/她名字的页面。这是我的 Python 代码:

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

app = Flask(__name__)

@app.route("/", methods = ["POST", "GET"])
def login():
if request.method == "POST":
user = request.form["name"]
return redirect(url_for("success", name=user))
else:
return render_template("login.html")

@app.route("/success", methods = ["POST", "GET"])
def success():
user = request.form.get('name')
return render_template("success.html", name=user)

if __name__ == "__main__":
app.run("0.0.0.0", 8080)

因此,当我访问我的网站时,我将转到“else”分支并执行:“render_template("login.html")”。然后,如果我按提交,我会进入“if”,我试图将用户重定向到“success.html”。这是我的登录.html:

<html>
<body>

<form action = "http://ide50-zahar-zagrava.cs50.io:8080/" method = "post">
<p>Enter Name:</p>
<p><input type = "text" name = "name" /></p>
<p><input type = "submit" value = "submit" /></p>
</form>

</body>
</html>

和 succes.html:

<html>
<body>
<h1>Hello {{ name }}!</h1>
</body>
</html>

但不是说:“Hello”,而是说:“Hello None”。我的主要问题是如何将数据从一个页面传递到另一页面?我对 Flask 和 Python 完全陌生,所以我不知道出了什么问题。

最佳答案

您在表单中的操作是错误的。您正在将表单发送到索引页。你可以像这样编辑它:

<form action="{{ url_for('success') }}" method="post">

这样,您的表单将被发送到 success 方法。

关于python - 如何使用 Flask 将 POST 传递到另一个 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46629646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com