Получить длину списка в шаблоне jinja2
Как получить количество элементов в списке шаблонов jinja2?
например, в Python:
print(template.render(products=[???]))
и в jinja2
<span>You have {{what goes here?}} products</span>
2 ответа:
<span>You have {{products|length}} products</span>
вы также можете использовать этот синтаксис в выражениях типа
{% if products|length > 1 %}
встроенные фильтры jinja2 документированы здесь; и в частности, как вы уже нашли,
length
(и его синонимcount
) доказано, что:возвращает количество элементов последовательности или сопоставления.
Итак, опять как вы нашли,
{{products|count}}
(или, что эквивалентно{{products|length}}
) в вашем шаблоне будет указано "количество товаров" ("длина списка")
комментарий Алекса выглядит хорошо, но я все еще был смущен использованием диапазона. Следующие работал для меня во время работы над состояния, используя длину в пределах диапазона.
{% for i in range(0,(nums['list_users_response']['list_users_result']['users'])| length) %} <li> {{ nums['list_users_response']['list_users_result']['users'][i]['user_name'] }} </li> {% endfor %}