如何计算 Jinja2 模板 Django 中循环 "for in" 中的所有元素

How can I count all elements in loop "for in" in Jinja2 templates Django

我尝试使用循环:

user_list = <QuerySet [<TableUsers: Jane>, <TableUsers: Kate>, <TableUsers: Jons>, <TableUsers: Jacob>, <TableUsers: Jane>, <TableUsers: Jons>, <TableUsers: Jane>]>
{% for user in user_list %}
  {% if user.name == "Jane" %}
    {{all_count_username_jane}} # this is all count user with name Jane
    {{user.name}}
  {% elif user.name == "Jons" %}
    {{all_count_username_jons}} # this is all count user with name Jons
    {{user.name}}
  {% endif %}
{% endfor %}

如何计算所有“Jane”和“Jons”?

如果您使用了类似 user_list = SomeModel.objects.all() 的内容,您可以将其替换为类似

的内容
from django.db.models import Count

user_list = SomeModel.objects.values('name').annotate(count_names=Count('id'))

然后也将您的模板代码更改为:

{% for user in user_list %}
  {% if user.name == "Jane" %}
    {{user.count_names}} # this is all count user with name Jane
    {{user.name}}
  {% elif user.name == "Jons" %}
    {{user.count_names}} # this is all count user with name Jons
    {{user.name}}
  {% endif %}
{% endfor %}