【问题标题】:Jinja template to calculate the average用于计算平均值的 Jinja 模板
【发布时间】:2023-03-19 05:36:01
【问题描述】:

我正在尝试使用 jinja 模板显示数字的平均值,但我无法弥补。

我从 Google 应用引擎数据存储实体“Score”中获取“points”列的值

使用python代码并将其放入jinja模板中,我想计算点的平均值并通过此模板显示。

{% for num in number%}
        {{num.points}}
{% endfor %}

【问题讨论】:

    标签: python google-app-engine jinja2


    【解决方案1】:
    {% set score = [] %}
    {% for num in number %}
        {% if score.append(num) %}{% endif %}
    {% endfor %}
    Average score: 
    {{ score | sum / score | count }}
    

    http://jinja.pocoo.org/docs/dev/templates/

    【讨论】:

      【解决方案2】:

      Jinja 是一种layout 语言,不要试图用那种语言来做代码任务。做循环和条件很好,但不适合做算术。

      在 Python 代码中计算您的平均值并将该值传递到您的模板中。

      【讨论】:

      • 谢谢!我已经在为模板 self.response.write(template.render(dic)) 渲染字典。我在 python 代码中进行了平均计算,但是如何将此值传递给同一个模板。请指教。
      • @Anna 将其添加到传入的字典中。该字典中的每个键都将成为模板中的名称,因此可以在模板中以average 的形式访问额外的dic['average'] = calculated_average
      • 谢谢它的工作:) 我通过现有字典传递了平​​均值,并且值从模板中显示:)
      • 不错的建议,但它不包含实际问题的答案。
      • @JoséM.Fernández-Alba:但它仍然是真实的。不要使用显示模板进行在 Python 中处理得更好的计算。
      猜你喜欢
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 2013-01-14
      • 2017-02-06
      • 2012-06-19
      相关资源
      最近更新 更多