我有一个可变的城市名称列表,我想将其平均分成 4 列。我有一些解决方案,但它看起来不知所措且肮脏。最好和最简单的方法是什么?
我的解决方案在这里:
{% set cities_in_column = cities|length/4|int %}
{% set step=0 %}
<div class="four columns">
{% for city in cities|sort %}
{% if step > cities_in_column %}
{% set step = 0 %}
</div>
<div class="four columns">
{% endif %}
<h5><a href="/city/{{ city.url }}">{{ city.name }}</a> <span style="float:right;">({{ city.users_count }})</span></h5>
{% set step=step + 1 %}
{% endfor %}
</div>
最佳答案
您正在寻找 slices
过滤器:
{% for column in cities | sort | slice(4) -%}
<div class="four columns">
{%- for city in column -%}
<h5><a href="/city/{{ city.url}}">{{ city.name }}</a>
<span style="float:right;">({{ city.users_count }})</span></h5>
{%- endfor -%}
</div>
{%- endfor %}
关于python - 在 Jinja2 模板中将项目均匀地分成列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11079690/