Django模板提供内置标记cycle
,用于在模板中的不同点之间交替使用多个值(或用于模板中的循环),但此标记在其重置时不会重置在范围之外的范围内访问。也就是说,如果您的模板中有两个或更多列表,那么您希望使用某些css定义odd
和even
的所有行,列表的第一行将会从最后一个离开的位置开始拾取,而不是从选择新鲜的迭代(odd
和even
)Django模板中具有多行设置的替代行着色
例如,在下面的代码,如果第一个博客有奇数个条目,然后在第二个博客的第一项将开始even
,当我把它想从odd
开始。
{% for blog in blogs %}
{% for entry in blog.entries %}
<div class="{% cycle 'odd' 'even' %}" id="{{entry.id}}">
{{entry.text}}
</div>
{% endfor %}
{% endfor %}
我试着用这里提供的resetcycle
标签修补此排除:
Django ticket: Cycle tag should reset after it steps out of scope
无济于事。 (代码没有为我工作。)
我也尝试将我的内部循环移动到自定义标记,但这也没有工作,也许是因为编译/渲染循环将循环移回到外部循环? (不管为什么,它不适合我。)
我该如何完成这个简单的任务!?我不想用我预先编译好的信息在我的视图中创建数据结构;这似乎没有必要。提前致谢。
这是我做的,但因为我是无论如何使用jQuery,这是相当微不足道的。 – 2009-01-20 04:06:35