2011-03-02 28 views
0

是否可以將forloop.counter對象重置爲零?是一個django模板forloop resetabble?

我用它來吐出對象,但是當對象類型發生變化時,我想將它歸零,以便我可以計數到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

應該添加forloo.counter == 1不應該在那裏,它不工作! – bytejunkie 2011-03-02 15:27:52

回答

1

我不太清楚,我明白你需要什麼。您可以使用regroup標籤根據類型顯示您的對象。

而且您可以使用class="{% cycle 'normal' 'normal' 'normal' 'normal' 'special' %}"以不同方式對每五個元素進行樣式設置。

+0

這也將解決我的問題。感謝您指出。我在官方文檔中閱讀了它,但無法理解它將如何提供幫助。你的簡單例子非常完美。 – bytejunkie 2011-03-04 19:08:20

2

這聽起來像你應該regrouping對象根據類型,並在內部循環做填充。

+0

這是芥末,謝謝隊友。 – bytejunkie 2011-03-02 15:30:45

相關問題