Flask:如何将所有变量传递到模板中

2024-04-27 17:45:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用Flask解析模板html上定义的所有变量,如下所示:

app.py

@app.route("/toto")
def toto():
   toto = [1,2,3]
   tata = [1,2,3]
   titi = [1,2,3]
   return render_template("toto.html", toto=toto, tata=tata, titi=titi)

toto.html

{% set var = ALL_VARIABLE %}
{% for v in var %}
    {{ v }}
{{ endfor }}

toto.html文件用于多个模板,我想获取模板上的所有变量,因为我添加了使用这些变量的输入


Tags: py模板appflaskreturn定义vardef
3条回答

只需在for循环中连接变量

<ul>
    {% for t in tata + toto + titi %}
    <li>{{ t }}</li>
    {% endfor %}
</ul>

这可以在模板中轻松完成,如下所示:

  <ul>
    {% for to in toto %}
    <li>{{to}}</li>
    {% endfor %}
  </ul>

  <ul>
    {% for to in tata %}
    <li>{{ta}}</li>
    {% endfor %}
  </ul>

或者,您也可以按如下方式连接列表:

{% set var = tata + toto + titi  %}

  <ul>
    {% for i in var %}
    <li>{{i}}</li>
    {% endfor %}
  </ul>

将多个变量传递到模板中的干净方法是将变量包装到dict中,并将单个dict对象传递到模板中,然后作为mydict.toto访问

例如:

{% for v in mydict.toto %}
    {{ v }}
{% endfor %}

相关问题 更多 >