plantilla django muestra el valor del elemento o una cadena vacía


88

Mi código en la plantilla es así:

{% for item in items %}
    {{ item.somefield }}
{% endfor %}

Quiero mostrar el valor del elemento si el campo item.somefield no es Ninguno, o mostrar una cadena vacía. No quiero usar la declaración {% if item.somefield%}, quiero algo como {{item.somefield o ''}} (intenté esto pero no funciona)

Respuestas:


225

Quieres el default_if_nonefiltro de plantilla, ( doc ).

default_if_none mostrará la cadena dada si la variable es 'Ninguna'.

default mostrará la cadena si la variable se evalúa como Falso, es decir, cadenas vacías, listas vacías, etc.

{{ item.somefield|default_if_none:"" }}
{{ item.somefield|default:"" }}

Gracias @rockingskier;)
Moe Far

12
{{ item.somefield|default_if_none:"" }}

5
Es posible que desee agregar alguna explicación a su respuesta, en lugar de solo código. Esto ayuda a la persona que hizo la pregunta a comprender mejor su respuesta.
Victor Zamanian
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.