django 1.10循环每第4个元素添加hr标签

django 1.10 cycle to add hr tag every 4th element

我想在我的 html 文档中每隔 4 个子元素添加一个 hr 元素。这是我目前所拥有的:

<div class="row blog-post">
    {% for obj in object_list %}
        <div class="col-sm-3">
            <div class="thumbnail">
                {% if obj.image %}
                    <img src="{{ obj.image.url }}" class="img-responsive"/>
                {% endif %}
                <div class="caption post-detail-item">
                    {% if obj.draft %}<h3>Staff only: <span style="color:red;">Draft</span></h3> {% endif %} {% if obj.publish > today %}<h3>Staff only: <span style="color:red;">Future Post</span></h3>{% endif %}
                    <h3><a href='{{ obj.get_absolute_url }}'>{{ obj.title }}</a><small> {{ obj.publish|timesince }}</small></h3>
                    {% if obj.user.get_full_name %}
                        <p>Author: {{ obj.user.get_full_name }}</p>
                    {% endif %}
                    {{ obj.get_markdown|truncatechars_html:350 }}
                    <p><a href="{{ obj.get_absolute_url }}" class="btn btn-primary" type="button">View</a></p>
                </div>
            </div>
        </div>
    {% cycle "" "<div class='col-sm-12'><hr/></div></div><div></div><div class='row'>" %}
    {% endfor %}
</div>

我那里的循环位用于分隔每个第二个元素,但我希望它是每个第四个。没有它,我每行得到 4 个元素。这就是我要的。基本上,我试图为每列制作一个标准高度。

{% if forloop.counter0|divisibleby:4 %}
    <div class='col-sm-12'><hr/></div></div><div></div><div class='row'>
{% endif %}

关于除以的更多信息:https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#divisibleby

您可以将两个以上的参数传递给循环标记。例如:

{% cycle "" "" "" "<div..." %}

按照 1GDST 的建议使用 divisibleby 可能更整洁,我只是添加这个答案作为替代。