首页 > 解决方案 > 在一定数量的组中迭代查询集

问题描述

基本上,我想使用带有查询集的引导轮播。我的问题是我应该如何迭代查询集,以便我可以将三个对象放入一个 div,然后将接下来的三个放入另一个 div,依此类推,具体取决于查询集的大小。请参阅下面的 preudocode。

{% for group in object_list/3 %}
 <div class="">
  {% for object in group %}
   <p>{{object}}</p>
  {% endfor %}
 </div>
{% endfor %}

标签: pythondjangodjango-templates

解决方案


您可以在此 stackoverflow 答案中添加一个名为 chunks 的过滤器:

@register.filter
def chunks(iterable, size):
    iterator = iter(iterable)
    for first in iterator:
        yield chain([first], islice(iterator, size - 1))

然后在 django 模板中使用过滤器


推荐阅读