【问题标题】:How to update outer variable from within a for loop (Python, Jinja2)如何从 for 循环中更新外部变量(Python,Jinja2)
【发布时间】:2013-09-29 13:04:39
【问题描述】:

我正在 Google App Engine 平台上运行 Python 应用程序。 Bu 条件,我有一个期限(例如 12 个月),并且每个月我都会进行特定的付款(PAYMENT 变量)。然后我需要计算所有已付款并更新 TOTAL_PAYMENT 变量。

{% set total_payment = 0 %}

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

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

{% endfor%}
{{ total_payment }}

我得到的不是总支付价值,而是 0。有什么问题?

【问题讨论】:

  • 我认为你应该在{% payment = SOME_INT_VALUE %} 中使用set 标签。即{% set payment = SOME_INT_VALUE %}.
  • @LeonYoung 出于某种原因,变量在循环外重置其值

标签: python google-app-engine python-2.7 jinja2


【解决方案1】:

可能有点脏,但效果很好。

{% 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 }}

【讨论】:

    猜你喜欢
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    相关资源
    最近更新 更多