2011-09-07 135 views
0

可以說我有一個對象Django的:添加類每X個元素

foo =[ob1, obj2, obj3 ... obj100 ...] 

現在我想通過他們環路我的模板,但在5組,

所以會有每個「行」爲5個對象。並在每一行中,我想添加一個類到該行中的第一個和最後一個。

有沒有乾淨的爲什麼要這樣做?

回答

3

您可以使用cycle標籤:

<td class="{% cycle 'first' '' '' '' 'last' %}"> 
</td> 

或:

<td{% cycle ' class="first"' '' '' '' ' class="last"' %}"> 
</td> 
+0

工作,也許不是最清潔,但肯定超級簡單! – Harry

1

django本身已經有了一個均勻且不均勻的添加模板過濾器。看着它,並創建自己的自定義過濾器..

https://docs.djangoproject.com/en/dev/howto/custom-template-tags/

register = template.Library() 

    @register.filter 
    def count_each_5th_object(value, arg): 
     counter = 0 
     for object in value: 
      counter += 1 
      if counter % arg etcetera... 

但是,如果你想完全實現這一結果的原因造型我只推薦使用CSS ...考慮:第一子,第n個孩子(5N + 5)和最後一個孩子

相關問題