如何在Jinja2中中断for循环?

如何在Jinja2中中断for循环?,第1张

如何在Jinja2中中断for循环?

您不能使用

break
,而是要过滤。从Jinja2文档上
{% for%}

与Python不同,它不可能中断或继续循环。但是,您可以在迭代过程中过滤序列,从而可以跳过项目。下面的示例跳过所有隐藏的用户:

{% for user in users if not user.hidden %}    <li>{{ user.username|e }}</li>{% endfor %}

但是,就您而言,您似乎只需要第 一个 元素。只需过滤并选择第一个:

{{ (pages|selectattr('tags.foo', 'eq', bar)|first).title }}

这将使用

selectattr()
过滤器过滤列表,其结果将传递到
first
过滤器。

selectattr()
滤波器产生一个迭代,因此,使用
first
这里将仅遍历输入到第一匹配部件,并且没有进一步的。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5631200.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存