Получить длину списка в шаблоне 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 %}