在render_template中为for循环嵌套

时间:2019-07-27 01:48:07

标签: python flask

由于某些原因,我的条件没有得到解决

我尝试在循环中显示两个项目,它们看起来完全一样。

regions = {'central':3000,'south':2000}
area = [('main','central',100),('main','central',300),('secondary','south',200)]
{{% for i in regions.items() %}}
    {{%for z in area%}}
        {{%if z[1] == i[0]%}}
              <tr><td>{{z[1]}}</td><td>{{z[2]}}</td></tr>
        {{%endif%}}
    {{%endfor%}}
{{% endfor %}}

我希望它能打印2行的表格。 中央100 中央300

在if z [1]行之前,我写了{{z [1]}} {{i [0]}},然后得到了CentralCentral。

我收到有关缺少%的错误。

1 个答案:

答案 0 :(得分:0)

Flask使用Jinja进行模板化,其中代码部分位于{% code here %}
中 对于呈现变量,它使用{{ variable }}
因此,在您的情况下,您将{{% code %}}用于产生错误的代码部分。

{% for i in regions.items() %}
    {%for z in area%}
        {%if z[1] == i[0]%}
              <tr><td>{{z[1]}}</td><td>{{z[2]}}</td></tr>
        {%endif%}
    {%endfor%}
{% endfor %}  

您必须像上面那样更改语法。