我有以下模板,即 index.html 。我在django framework工作。现在我已经显示了汽车全速超过30km的值。我刚刚在这里发布了输出值的相关代码的一部分,即代码
{% for v in values %}
{% if v.speed > 30 %}
{{v.speed}}
{% endif %}
{% endfor %}
现在我只想计算v.speed值,我怎样才能使用python或django count函数。你可以在那个部分编辑我的代码。
谢谢。
答案 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}}