我希望在jinja2模板中输出表格中的项目列表。
当前代码:
<table style="width:100%">
{% for i in sales %}
<tr>
<td>{{i}}</td>
</tr>
{% endfor %}
</table>
结果是:
item
item
item
item
...
预期产出:
item item item
item item item
item item item
item item item
...
我希望输出分布在三列上,即。在表格中从左到右循环,然后在3个项目后开始一个新行。
答案 0 :(得分:1)
您可以使用divisibleby
测试。
{% for i in sales %}
{% if loop.index0 is divisibleby(3) %}
<tr>
{% endif %}
<td>{{i}}</td>
{% if loop.index is divisibleby(3) %}
</tr>
{% endif %}
{% endfor %}
答案 1 :(得分:1)
您可以使用batch
>>> import Jinja2
>>> t = jinja2.Template("{% for i in items|batch(3) %}{{i}}{% endfor %}")
>>> items = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
>>> print t.render(items=items)
>>> ['1', '2', '3']['4', '5', '6']['7', '8', '9']