【发布时间】:2013-04-23 14:40:30
【问题描述】:
我想遍历一组对象并找到一个特定属性的最大值,但是 jinja2 忽略迭代器内对在迭代器外部声明的变量的任何操作。例如:
{% set maximum = 1 %}
{% for datum in data %}
{% if datum.frequency > 1 %}
{% set maximum = datum.frequency %}
{% endif %}
{% endfor %}
{# maximum == 1 #}
对于data 中的某些datum,datum.frequency 肯定大于1。
编辑(解决方案)
这与this post相似,但还有更多内容。以下工作并且非常难看。
{% set maximum = [1] %}
{% for datum in data %}
{% if datum.freq > maximum[-1] %}
{% if maximum.append( datum.freq ) %}{% endif %}
{% endif %}
{% endfor %}
{% set maximum = maximum[-1] %}
【问题讨论】:
标签: jinja2