获取 jinja2 模板中列表的长度

新手上路,请多包涵

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

例如,在 Python 中:

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

在 jinja2

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

原文由 flybywire 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答
<span>You have {{products|length}} products</span>

您还可以在表达式中使用此语法,例如

{% if products|length > 1 %}

jinja2 的内置过滤器记录 在此处;具体来说,正如您已经发现的那样, length (及其同义词 count )记录为:

返回序列或映射的项目数。

因此,再次如您所见,模板中的 {{products|count}} (或等同于 {{products|length}} )将给出“产品数量”(“列表长度”)

原文由 Alex Martelli 发布,翻译遵循 CC BY-SA 3.0 许可协议

亚历克斯的评论看起来不错,但我仍然对使用范围感到困惑。在使用范围内的长度处理 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 %}

原文由 Ashwin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏