本文介绍了遍历Jinja中的子集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Jinja允许我做

{% for item in all_items %}
    {{ item }}
{% endfor %}

但是我只想拿第一个 n 个项目;在Python中应该是

but I'd like to be able to only take the first n items; in Python that would be

for item in all_items[:n]:

在Jinja中,有什么优雅的方法可以做到这一点,除了

Is there any elegant way to do this in Jinja, except

{% for item in all_items %}
    {% if loop.index <= n %}
        {{ item }}
    {% endif %}
{% endfor %}

推荐答案

您可以使用普通的python slice语法.

You can use normal python slice syntax.

>>> import jinja2
>>> t = jinja2.Template("{% for i in items[:3] %}{{ i }}\n{% endfor %}")
>>> items = range(10)
>>> print(t.render(items=items))
0
1
2

这篇关于遍历Jinja中的子集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-27 06:10