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