Tol*_*lga 1 django django-templates
我想在每个4个元素之后更改li的class属性(这意味着应该更改第5个,第9个,第13个li元素类).
我尝试了类似下面的内容,但它给了我一个语法错误:无法解析余数:来自'forloop.counter%4'的'%4'
{% for p in plist %}
{% ifequal forloop.counter%4 1 %}
<li class="clear"> {{p.title}} </li>
{% else %}
<li> {{p.title}} </li>
{% endifequal %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
如果有人会建议我一个有效的解决方案,我将不胜感激.
您可以使用forloop.counter0并过滤divisibleby:
{% ifequal forloop.counter0|divisibleby:"4" %}
Run Code Online (Sandbox Code Playgroud)
您不能在django模板中进行类似的评估.ifequal标记只需要两个参数,并对它们进行比较.你需要某种类型的过滤器.
但是,您可以使用循环标记:
{% for p in plist %}
{% if forloop.first %}
<li> {{p.title}} </li>
{% else %}
<li{% cycle '' '' '' ' class="clear"' %}> {{p.title}} </li>
{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
编辑:正如所指出的那样,原始解决方案清除了第4,第8等,而不是从第5个开始.我已经更新了答案,包括Tolga的更改.
| 归档时间: |
|
| 查看次数: |
6516 次 |
| 最近记录: |