python - 在一定数量的组中迭代查询集
问题描述
基本上,我想使用带有查询集的引导轮播。我的问题是我应该如何迭代查询集,以便我可以将三个对象放入一个 div,然后将接下来的三个放入另一个 div,依此类推,具体取决于查询集的大小。请参阅下面的 preudocode。
{% for group in object_list/3 %}
<div class="">
{% for object in group %}
<p>{{object}}</p>
{% endfor %}
</div>
{% endfor %}
解决方案
您可以在此 stackoverflow 答案中添加一个名为 chunks 的过滤器:
@register.filter
def chunks(iterable, size):
iterator = iter(iterable)
for first in iterator:
yield chain([first], islice(iterator, size - 1))
然后在 django 模板中使用过滤器
推荐阅读
- python - 每百分号范围
- javascript - 克隆 div 并使用 JSON 数据附加到 DOM 的问题
- java - 从 Android 中的 URL 解析极其简单的 JSON
- swift - 从 Swift 使用 Freeglut 时不会初始化
- javascript - 使用 javascript 在下拉列表中保存值
- javascript - 对映射数组进行分页
- asp.net - 将“ALL”选项添加到列表框中,并根据下拉列表中的选择动态更改它
- sql - SQL中如何将多行合并为一行
- typescript - Vue 代码在 Typescript 2.8.3 中工作,但在 2.9.2 中中断 - 属性在 Vue 中不存在“xxx”foo(或类似的地方)
- c# - C# 将位置文件数据分组拆分