我正在学习烧瓶。我写了基本代码,我希望提交的文本显示在同一页中。我已经写了html并连接了它。我该怎么做?
from flask import Flask, redirect, url_for,render_template, request
app = Flask(name)
@app.route("/", methods=["POST", "GET"])
def home():
if request.method == "POST":
user = request.form["nm"]
return redirect(url_for("/", user))
else:
return render_template("login.html")
if name == ("main"):
app.run(debug=True)
我注意到您已经从Python基础中获得了代码。实际上,它们并没有显示如何格式化重定向的HTML模板。
幸运的是,他们提供了一个教程,向您展示如何使用Jinja2将检索到的数据馈送到HTML模板。这个教程可以在这里找到。本质上,您可以在HTML模板中使用{{ variable }}
。在Flask中,必须将变量指定为render_template
函数中的参数。
最小示例:
# app.py
@app.route('/result',methods = ['POST', 'GET'])
def result():
if request.method == 'POST':
variable = request.form['variable']
return render_template("result.html", variable=variable)
<!-- result.html -->
<p> This is your variable: {{ variable }} </p>
我建议您同时查看Flask和Jinja2文档,因为它们提供了大量关于如何使用回调和HTML模板的全面示例。