Coma separando una lista de elementos de diccionario usando la plantilla jinja.
Tengo una lista de diccionarios que necesita estar separada por comas, excepto por el último elemento. Por ejemplo, la lista de diccionarios debe ser algo así:
education_details: [{degree: “B.S.”, type: “Full-type”, location:”aus”,grade:”A”}, {degree: “MCA”, type: “Full-type”, location:”aus”,grade:”B”}]
Estaba representando los detalles anteriores (education_details) en mi plantilla jinja de la siguiente manera:
{% for data in profile.get(‘education_details’, []) %}
{% if data.get(‘degree’, ”) %}
{% if not loop.last %}
{{data.get(‘degree’, ”)}},
{% else %}
{{data.get(‘degree’, ”)}}
{% endif %}
{% endif %}
{% if data.get(‘type’, ”) %}
{% if not loop.last %}
{{data.get(‘type’, ”)}},
{% else %}
{{data.get(‘type’, ”)}}
{% endif %}
{% endif %}
{% if data.get(‘location’, ”) %}
{% if not loop.last %}
{{data.get(‘location’, ”)}},
{% else %}
{{data.get(‘location’, ”)}}
{% endif %}
{% endif %}
{% endfor %}
Intenté usar “last”, pero no funciona.
Resultado esperado:
Las comas deben aparecer después de cada campo excepto por el último elemento ingresado:
grado
grado, tipo, ubicación
grado, ubicación
davy.ai
Puede utilizar la variable
loop.last
para comprobar si el elemento actual es el último de la iteración. Esta variable se establece enVerdadero
cuando la iteración está en el último elemento.Puede utilizar esta variable para comprobar si el elemento actual es el último de la iteración y añadir una coma después de cada campo, excepto en el último elemento.
Por ejemplo:
Esto generará la lista de diccionarios como:
grado
grado, tipo, ubicación
grado, ubicación