首页 > 解决方案 > 计算 Django 模板中的项目

问题描述

django是否可以统计在 html 中作为模板的一部分列出的项目?

例如,我有一个django模板,其中包含以下代码片段:

<div>
   {% for thing in thing_list %}
      {% if thing.status == "n" %}
         <a>{{ thing.status.count }}</a>
      {% endif %}
   {% endfor %}
</div>

这个django模板显示了一个列表中的所有事物,我可以调用事物的每个属性并显示它,所以我知道我可以访问所有字段。

我想计算“事物”的数量并将该数字显示为文本。我目前的上述尝试不起作用。有没有人有什么建议?

标签: htmldjango

解决方案


正如 Willem 所说,您应该在视图中执行此操作。与其传递所有事物的列表,然后在模板中使用 来检查它们的状态,不如if在首先从数据库中查询事物时过滤它们:

thing_list = Thing.objects.filter(status='n')

然后你可以{{ thing_list.count }}在模板中做。


推荐阅读