我正在尝试使用range
和modulo在 Django 模板中循环。这是我的代码:
{% for iterate in range(len(items)%4) %}
<div class="row">
{% for item in items %}
<div class="col-sm-3" style="background-color:lavender;">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
<p> Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
{% endfor %}
</div>
{% endfor %}
但我得到了错误:
无法解析余数:&#39;(len(items)%4)&#39;来自&#39;范围(len(items)%4)&#39;
答案 0 :(得分:1)
Django不允许在其模板中使用复杂的函数,您需要在python视图中创建范围对象,并将其作为变量传递给模板。
See the Django docs for explanation
由于Django故意限制模板语言中可用的逻辑处理量,因此无法将参数传递给从模板内访问的方法调用。数据应在视图中计算,然后传递给模板进行显示。