Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Jinja2-以x为一组呈现列表项_Python_Html_Flask_Jinja2 - Fatal编程技术网

Python Jinja2-以x为一组呈现列表项

Python Jinja2-以x为一组呈现列表项,python,html,flask,jinja2,Python,Html,Flask,Jinja2,我希望在jinja2模板中输出表中的项目列表 当前代码: <table style="width:100%"> {% for i in sales %} <tr> <td>{{i}}</td> </tr> {% endfor %} </table> 预期产出: item item item item item item item item ite

我希望在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    
...
我希望输出分布在三列上,即在表中从左到右循环,然后在3项之后开始一个新行

您可以使用该测试

{sales%中的i的%
{%if loop.index0可被(3)%整除}
{%endif%}
{{i}
{%如果loop.index可被(3)%整除}
{%endif%}
{%endfor%}
您可以使用


感谢您的回答,但此jsut输出一行:
item。。。项目
item    item    item        
item    item    item    
item    item    item    
item    item    item    
...
{% for i in sales %}
  {% if loop.index0 is divisibleby(3) %}
  <tr>
  {% endif %}
     <td>{{i}}</td>
  {% if loop.index is divisibleby(3) %}
  </tr>
  {% endif %}
{% endfor %}
>>> 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']