Respuestas:
<span>You have {{products|length}} products</span>
También puede usar esta sintaxis en expresiones como
{% if products|length > 1 %}
Los filtros incorporados de jinja2 se documentan aquí ; y específicamente, como ya ha encontrado, length
(y su sinónimo count
) está documentado para:
Devuelve el número de elementos de una secuencia o mapeo.
Entonces, nuevamente, como lo ha encontrado, {{products|count}}
(o equivalente {{products|length}}
) en su plantilla le dará el "número de productos" ("longitud de la lista")
{% set item_count = items | length %}
siempre que items
sea una lista, dict, etc.
El comentario de Alex se ve bien, pero todavía estaba confundido con el uso del rango. Lo siguiente funcionó para mí mientras trabajaba en una condición for usando longitud dentro del rango.
{% 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 %}
He experimentado un problema con la longitud de None, lo que lleva a un error interno del servidor: TypeError: el objeto de tipo 'NoneType' no tiene len ()
Mi solución es solo mostrar 0 si el objeto es Ninguno y calcular la longitud de otros tipos, como la lista en mi caso:
{{'0' if linked_contacts == None else linked_contacts|length}}