【问题标题】:Looping over subset in Jinja在 Jinja 中循环子集
【发布时间】:2012-03-25 12:10:12
【问题描述】:

Jinja 允许我这样做

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

但我希望能够只取前 n 项;在 Python 中是

for item in all_items[:n]:

除了

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

【问题讨论】:

    标签: python jinja2


    【解决方案1】:

    您可以使用普通的 python 切片语法。

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

    【讨论】:

    • 在生活中,我们有时看不到最明显的东西。谢谢:)
    • @miku,如何获取最后 3 项?
    • @miku,别担心,我在这里搞定了 [-3:] stackoverflow.com/a/646654/1292050
    猜你喜欢
    • 2018-05-21
    • 1970-01-01
    • 2022-11-18
    • 2019-09-01
    • 2019-04-19
    • 2020-08-26
    • 2014-03-28
    • 1970-01-01
    • 2018-07-28
    相关资源
    最近更新 更多