我在 Jinja2 中有一个列表,它本身包含字典。就像是
items = [{'name':'name1', 'points':5}, {'name':'name2', 'points':7},
{'name':'name3', 'points':2}, {'name':'name4', 'points':11}]
我需要的是获得所有 点 的总和并稍后在某个地方打印。
目前我得到的是:
{% set points = 0 -%}
{% for single_item in items -%}
{% set points = points + single_item["points"] -%}
{{points}}
{% endfor %}
{{ points }}
结果是:5 12 14 25 0
有什么办法可以让循环外的 点 的值为 25 (循环中的最后一个值)?
原文由 Perun 发布,翻译遵循 CC BY-SA 4.0 许可协议
我设法让它工作,虽然解决方案并不优雅,但它正在工作:
points 将是只有一个元素具有总和的数组。
它也可以通过包含的 do 扩展来完成,这将替换 {% if %} 行。