如何在Django中以块的形式浏览ManyToMany字段

时间:2016-09-28 21:24:56

标签: python django

我试图在平铺界面中的HTML模板中显示三个对象的集合。因此,例如,Album模型具有包含特定照片的ManyToMany字段。我想迭代浏览照片并在视图中以三个为一组显示它们。目前,我可以在模板中使用{{ for photo in album.images.all }}获取所有照片,但不知道如何以三个为一组获得结果。

我如何将结果分组成三组,以便我可以遍历模板的三个组?或者有没有办法使用模板标签获取特定元素的总长度和索引?

由于

1 个答案:

答案 0 :(得分:1)

{% for photo in album.images.all %}
    {{ photo }}
    {% if forloop.counter|divisibleby:4 %}
        <hr> {# or some other markup #}
    {% endif
{% endfor %}

您也可以在视图中进行分组。这可能会导致更清晰的标记。请参阅:Django template {%for%} tag add li every 4th element