2011-09-07 97 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)和最后一个孩子

相关问题