使用此代码,我使用 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>