python - last - jinja2 sort filter
¿Cómo generar una lista delimitada por comas en la plantilla de jinja python? (3)
Desea que su cheque sea:
{% if not loop.last %}
,
{% endif %}
Tenga en cuenta que también puede acortar el código utilizando If Expression :
{{ "," if not loop.last }}
Si tengo una lista de users
dicen ["Sam", "Bob", "Joe"]
, quiero hacer algo que pueda mostrar en mi archivo de plantilla de jinja:
{% for user in userlist %}
<a href="/profile/{{ user }}/">{{ user }}</a>
{% if !loop.last %}
,
{% endif %}
{% endfor %}
Quiero hacer que la plantilla de salida sea:
Sam, Bob, Joe
Probé el código anterior para comprobar si estaba en la última iteración del ciclo y si no, entonces no inserte una coma, pero no funciona. ¿Cómo hago esto?
Y usando el joiner
de http://jinja.pocoo.org/docs/dev/templates/#joiner
{% set comma = joiner(",") %}
{% for user in userlist %}
{{ comma() }}<a href="/profile/{{ user }}/">{{ user }}</a>
{% endfor %}
Está hecho para este propósito exacto.
también podría usar el filtro integrado "join" ( http://jinja.pocoo.org/docs/templates/#join como este:
{{ users|join('', '') }}