我正在学习Flask,我正面临这个问题



我正在学习烧瓶。我写了基本代码,我希望提交的文本显示在同一页中。我已经写了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模板的全面示例。

最新更新