将一个值从views.py传递到Flask中的模板html

时间:2017-06-29 20:19:30

标签: python html flask jinja2

我在views.py中显示由函数计算的值时遇到问题。目前我的代码基本上是这样的:它有两种形式,每种形式都接受用户输入。在views.py中,它基本上将其处理为

if first form is submitted:
    generate a value games
    return render_template('base.html', games=games)
elif second form is submitted:
    generate a value games
    return render_template('base.html', games=games)
return render_template('login.html', firstform=firstform, secondform=secondform)

其中login.html是扩展base.html的模板。在base.html中,我有

{% if games %}
  <h1> {{ games }} </h1>
{% endif %}

这个想法是会显示在views.py中计算的游戏的价值。但是,在提交表单时,不会显示任何值。我知道哪里可能出错了?

1 个答案:

答案 0 :(得分:0)

您可能需要两个不同的路由,每个路由一个用于POST数据。例如,

@app.route("/my/app/form1", methods=["POST"])
def handle_form1_submit():
    ...

@app.route("/my/app/form2", methods=["POST"])
def handle_form2_submit():
    ...

然后相应地更改每个表单的action=""属性。

更好的方法是使用一个路由,而不是表单发布,动态路由和更新页面的ajax。