关于python:获取jinja2模板中列表的长度

Get lengths of a list in a jinja2 template

如何获取jinja2模板中列表中的元素数?

例如,在python中:

1
print(template.render(products=[???]))

在金沙2

1
<span>You have {{what goes here?}} products</span>


1
<span>You have {{products|length}} products</span>

您也可以在如下表达式中使用此语法

1
{% if products|length > 1 %}

这里记录了jinja2的内置过滤器;具体来说,正如您已经发现的,length(及其同义词count)记录到:

Return the number of items of a sequence or mapping.

因此,正如您所发现的,模板中的EDOCX1(或等效的{{products|length}})将给出"产品数量"("列表长度")。


亚历克斯的评论看起来不错,但我仍然对使用范围感到困惑。在使用范围内长度的for条件下,以下内容对我很有用。

1
2
3
4
5
6
7
{% for i in range(0,(nums['list_users_response']['list_users_result']['users'])| length) %}

<li>
    {{ nums['list_users_response']['list_users_result']['users'][i]['user_name'] }}
</li>

{% endfor %}