2024-04-25 06:17:50 发布
网友
如何在jinja2模板中获取列表中的元素数?
例如,在Python中:
print(template.render(products=[???]))
在jinja2
<span>You have {{what goes here?}} products</span>
<span>You have {{products|length}} products</span>
您还可以在以下表达式中使用此语法
{% if products|length > 1 %}
jinja2的内置过滤器被记录为here;特别是,正如您已经发现的,^{}(及其同义词count)被记录为:
count
Return the number of items of a sequence or mapping.
所以,正如您所发现的,模板中的{{products|count}}(或等价的{{products|length}})将给出“产品数量”(“列表长度”)
{{products|count}}
{{products|length}}
亚历克斯的评论看起来不错,但我仍然对使用范围感到困惑。 当我在一个范围内使用长度的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 %}
我遇到了长度为None的问题,这会导致内部服务器错误:type Error:“None type”类型的对象没有len()
如果object为None,则我的解决方法只是显示0,并计算其他类型的长度,如我的示例中的list:
{{'0' if linked_contacts == None else linked_contacts|length}}
您还可以在以下表达式中使用此语法
jinja2的内置过滤器被记录为here;特别是,正如您已经发现的,^{} (及其同义词
count
)被记录为:所以,正如您所发现的,模板中的
{{products|count}}
(或等价的{{products|length}}
)将给出“产品数量”(“列表长度”)亚历克斯的评论看起来不错,但我仍然对使用范围感到困惑。 当我在一个范围内使用长度的for条件下工作时,下面的代码对我有效。
我遇到了长度为None的问题,这会导致内部服务器错误:type Error:“None type”类型的对象没有len()
如果object为None,则我的解决方法只是显示0,并计算其他类型的长度,如我的示例中的list:
相关问题 更多 >
编程相关推荐