我想迭代一组对象并找到一个特定属性的最大值,但是 jinja2 忽略迭代器内对在迭代器外部声明的变量的任何操作。例如:
{% set maximum = 1 %}
{% for datum in data %}
{% if datum.frequency > 1 %}
{% set maximum = datum.frequency %}
{% endif %}
{% endfor %}
{# maximum == 1 #}
datum.frequency
datum
对于某些in肯定大于 1 data
。
编辑(解决方案)
这与这篇文章类似,但还有更多内容。以下工作并且非常难看。
{% set maximum = [1] %}
{% for datum in data %}
{% if datum.freq > maximum[-1] %}
{% if maximum.append( datum.freq ) %}{% endif %}
{% endif %}
{% endfor %}
{% set maximum = maximum[-1] %}