由于django模板中没有模数(%)所以如何在此应用循环
{% for story in data %}
{{forloop.counter}}
Run Code Online (Sandbox Code Playgroud)
当forloop.counter%4 == 1时,应执行此操作
<div class="thumb">
<a href="#"><img src="{{ STATIC_URL }}images/thumb.jpg" width="185" height="185" /></a>
</div>
<div class="thumbFooter">
<span class="view">
<a href="#" class="viewIcon">{{ story.views }}</a>
</span>
<span class="like">
<a href="#" class="likeIcon">{{ story.likes }}</a>
</span>
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
当forloop.counter%4 == 2或3然后这个
<li>
<div class="thumb">
<a href="#"><img src="{{ STATIC_URL }}images/thumb.jpg" width="185" height="185" /></a>
</div>
<div class="thumbFooter">
<span class="view">
<a href="#" class="viewIcon">{{ story.views }}</a>
</span>
<span class="like">
<a href="#" class="likeIcon">{{ story.likes }}</a>
</span>
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
当for循环的forloop.counter%4 == 0时,应执行此操作
<li class="omega">
<div class="thumb">
<a href="#"><img src="{{ STATIC_URL }}images/thumb.jpg" width="185" height="185" /></a>
</div>
<div class="thumbFooter">
<span class="view">
<a href="#" class="viewIcon">{{ story.views }}</a>
</span>
<span class="like">
<a href="#" class="likeIcon">{{ story.likes }}</a>
</span>
</div>
</li>
<div class="clear"></div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
您可以构建自己的自定义过滤器
在Django的templatetags目录中,添加一个名为"mod.py"的文件.在该文件中添加以下代码:
from django import template
register = template.Library()
def mod(value, arg):
if value % arg == 0:
return True
else:
return False
register.filter('mod', mod)
Run Code Online (Sandbox Code Playgroud)
在您的模板中使用mod过滤器,如下所示:
...
{% load mod %}
...
<tr bgcolor="{% if forloop.counter|mod:2 %}#cccccc{% else %}#ffffff">
...
Run Code Online (Sandbox Code Playgroud)