使用计数功能计数值

时间:2013-11-10 10:13:34

标签: python django

我有以下模板,即 index.html 。我在django framework工作。现在我已经显示了汽车全速超过30km的值。我刚刚在这里发布了输出值的相关代码的一部分,即代码

{% for v in values %}
      {% if v.speed > 30 %}
        {{v.speed}}
      {% endif %}
{% endfor %}  

现在我只想计算v.speed值,我怎样才能使用python或django count函数。你可以在那个部分编辑我的代码。

谢谢。

3 个答案:

答案 0 :(得分:1)

如果values是Django QuerySet,您可以使用.count()

{% for v in values %}
  {% if v.speed > 30 %}
    {{v.speed}}
  {% endif %}
{% endfor %}

{{values.count}}

您也可以使用{{values|length}}

答案 1 :(得分:1)

django中不允许进行变量赋值。所以,你唯一的选择就是在python本身进行计数。将相应的数据传递给模板。

因此,您应该在python中执行以下操作

speedy_values = [v for v in values if v.speed > 30]

然后,将speedy_values传递给您的模板

{% for v in speedy_values %}
      {{v.speed}}
{% endfor %}
{{ v|length }} number of cars have speed greater than 30.

答案 2 :(得分:0)

或者,由于您的QuerySet已经过评估,因此使用length过滤器可以为您节省额外的查询:

{% for v in values %}
  {% if v.speed > 30 %}
    {{v.speed}}
  {% endif %}
{% endfor %}

{{values|length}}

Documentation