2011-03-05 113 views
2

如何输出以下内容?我想在完全4个“块”类后输出“网格”类。内部div是从视图返回的对象。模板中的Django嵌套循环

<div class="grid"> 
    <div class="block">...</div> 
    <div class="block">...</div> 
    <div class="block">...</div> 
    <div class="block">...</div> 
</div> 
<div class="grid"> 
    <div class="block">...</div> 
    <div class="block">...</div> 
    <div class="block">...</div> 
    <div class="block">...</div> 
</div> 
... 

我一直在使用forloop.counter0试图| divisibleby:4,但没有成功。

回答

12

我认为你的计数器方法正确。但是,它看起来像只是有一些语法错误,让你失望。你可能想要forloop.counter|divisibleby:"4",所以像

<div class="grid"> 
    {% for item in items %} 
     <div class="block">...</div> 
     {% if forloop.counter|divisibleby:"4" %} 
</div> 
<div class="grid"> 
     {% endif %} 
    {% endfor %} 
</div> 

应该做的伎俩。

+0

不错。 (char limit) – 2011-03-05 05:40:22

+0

解决我的问题的好代码 – 2016-03-30 05:40:35

1

尝试forloop.counter | divisibleby:4。零的添加意味着循环为零索引。当你到达第四个循环时,计数器将只读取3,这不能被4整除。