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

时间:2020-07-24 08:59:27

标签: python templates flask jinja2

我想使用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文件用于多个模板,我想获取模板上的所有变量,因为我添加了使用此变量的输入。

3 个答案:

答案 0 :(得分:0)

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

  <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>

答案 1 :(得分:0)

只需在for循环中串联变量

C:\Users\xyz\IdeaProjects\MySBTproject\ProcessDataDataProcessingJobs>SBT Package

答案 2 :(得分:-1)

将多个变量传递到模板中的一种干净方法是将变量包装到dict中,然后将单个dict对象传递到模板中,然后以mydict.toto的身份访问。

例如:

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