以下代码在不同月份显示不同的x值。设置jinja2的命令适用于flag,x但不适用于总数。为什么呢?
{% set flag = 1 %}
{% set total = 0 %}
{% for date in dates %} //dates is some array
{% if flag == 1 %}
{{x}}
{% set flag= 0 %} // I have used 1+1 also that too works
{% elif "Jul" in date %}
{% set x = x*3 %}
{% if x % 10!=0 %}
{% set x = x - x % 10 %}
{% set total = total + x %}
{% endif %}
{% else %}
{{x}}
{% set total = total + x %}
{% endif %}
{% endfor %}
{{total}}
答案 0 :(得分:0)
模板中的计算逻辑过于复杂:最好将该逻辑(或其部分)移动到数据提供程序组件中。
例如,在数据提供者组件中,您可以为每个x
计算data
,并将结果放入data.x
。然后{{dates|sum(attribute='x')}}
将显示总价值。