2013-09-29 81 views
-1

我在Google App Engine平台上运行Python应用程序。布条件,我有一个术语(例如12个月),并在每个月我做一个特定的付款(付款变量)。然后我需要计算所有付款并更新TOTAL_PAYMENT变量。如何在for循环中更新外部变量(Python,Jinja2)

{% set total_payment = 0 %} 

{% for month in range(0,term) %} 

    {% payment = SOME_INT_VALUE %} 
    {% total_payment = total_payment + payment%} 

{% endfor%} 
{{ total_payment }} 

而不是总支付价值,我仍然得到0.什么问题?

+0

我想你应该在'{%payment = SOME_INT_VALUE%}'中使用'set'标记。即'{%set payment = SOME_INT_VALUE%}'。 –

+0

@LeonYoung由于某种原因,变量重置其循环外的值 –

回答

0

也许有点脏,但它运作良好。

{% set vars = {'total_payment': 0} %} 

{% for month in range(0, term) %} 
    {% if vars.update({'total_payment': vars.total_payment + SOME_INT_VALUE}) %}{% endif %} 
{% endfor %} 

{{ vars.total_payment }}