我想忽略数组中的值,因此这里只显示四个子节点中的三个。 page.root
中有四个项目,但我只想显示三个项目。
<nav role="navigation">
<ul>
{% for child in page.root %}
<li>
<a href="{{ child.url }}">{{ child.title }}</a>
</li>
{% endfor %}
</ul>
</nav>
查看文档,我找不到限制for
循环的方法。
感谢您的帮助!
============
是的,我正在运行使用Twig的Stacey应用程序。对不起,我应该更具体。
有了stacey,slice是一种方法,所以这解决了我的问题:
<nav role="navigation">
<ul>
{% for child in slice (page.root, 0,3) %}
<li>
<a href="{{ child.url }}">{{ child.title }}</a>
</li>
{% endfor %}
</ul>
</nav>
我发现here。这正确地只输出page.root中的三个孩子。
答案 0 :(得分:0)
“模板系统旨在表达演示而非节目 逻辑。“ - Django文档
所以,你可以使用if statment,
{% for child in page.root %}
{% if child.title != 'any title' %}
<li>
<a href="{{ child.url }}">{{ child.title }}</a>
</li>
{% endif %}
{% endfor %}
答案 1 :(得分:0)
“仅打印前n项”的常见解决方案是slice
过滤器:
{% for child in page.root|slice(0, 3) %}
{# params are start and length, so that means the first 3 items #}
{% endfor %}