在jinja2模板中获取列表长度
我怎么在jinja2模板中获取列表的元素数量呢?
比如,在Python中:
print(template.render(products=[???]))
而在jinja2中
<span>You have {{what goes here?}} products</span>
5 个回答
7
我遇到了一个问题,就是当长度为 None 的时候,会导致内部服务器错误:TypeError: object of type 'NoneType' has no len()。
我的解决办法是,如果对象是 None,就显示 0;对于其他类型,比如列表,我会计算它们的长度:
{{'0' if linked_contacts == None else linked_contacts|length}}
16
Alex的评论看起来不错,但我还是对使用range有点困惑。在使用range结合长度进行for循环时,下面的代码对我来说是有效的。
{% 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 %}