是否可以将forloop.counter对象重置为零?
我正在使用它来吐出对象,但是当对象类型改变时我想将它归零,这样我可以数到5个对象并输出行对象的末尾(没有右边的填充)作为第五个和只有该类型的第五个对象。
如果我有5个对象,前两个是a型,接下来的3个是b型,第五个总是得到更小的填充,更别提它只有第三个了。
这是我的模板代码:
{% for project in projects %}
{% ifchanged project.proj_type %}
{% forloop.counter=="1" %}
</div>
<div class="span-4 prepend-top">
<h5 class="right" >{{ project.proj_type }}</h5>
</div>
<div class="span-19 append-1 last" id="row-of-projects">
{% endifchanged %}
{% if forloop.counter|divisibleby:"4" %}
<div class="span-4 append-1 prepend-top last" id="project">
{% else %}
<div class="span-4 append-1 prepend-top" id="project">
{% endif %}
<p class="project-name">{{ project.name }}</p>
<a href="/gallery/{{ project.slug }}/" ><img src="/media/pa/photographs/{{ project.get_photograph }}-t.jpg" alt="{{ project.name }}" /></a>
</div id="project">
{% endfor %}
答案 0 :(得分:2)
听起来你应该是基于类型的regrouping个对象,并在内循环中进行填充。
答案 1 :(得分:1)
我不太确定我理解你的需要。
您可以使用regroup
标记根据类型显示对象。
您可以使用class="{% cycle 'normal' 'normal' 'normal' 'normal' 'special' %}"
以不同方式设置每个第五个元素的样式。