在烧瓶中渲染字典

时间:2021-04-16 06:53:20

标签: python html flask jinja2

使用此代码,我使用 jinja 模板从 Flask 后端渲染字典。如果字典包含 30 个项目,那么它们将在单列中一一呈现。

但是 我想在第 1 列中呈现前 10 个项目,在第 2 列中呈现接下来的 10 个项目,在第 3 列中呈现接下来的 10 个项目 即每列应包含最多 10 个项目

由于字典的大小不固定,我如何确保只创建所需的列数?

如何修改此代码以使每列最多呈现 10 个项目?

 <table style="margin-top: 20px;">
        
        {% for key, value in dict.items() %}
        <tr style="margin-bottom: 10px">
            
             <td    {{key}}   </td>
             <td  click  </td>
             <td>  {{value}}  </td>

        </tr>
        {% endfor %}
    </table>

更新

<table>
    {%- for row in dict|batch(3) %}
    <tr>
        {%- for key in row %}
        <td>{{ key }}</td>
        {%- endfor %}
    </tr>
    {%- endfor %}
</table>

这是因为每一行都是一个列表,其中包含字典的键。 我也想访问价值。 怎么办?

工作代码

   <table>
        {%- for row in dict.items()|batch(3) %}
        <tr>
            {%- for key,value in row %}
            <td>{{ key }}</td>
            
            <td>{{ value }}</td>

            {%- endfor %}
        </tr>
        {%- endfor %}
    </table>

0 个答案:

没有答案