django template affiche la valeur de l'élément ou une chaîne vide


88

Mon code dans le modèle est comme ceci:

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

Je veux afficher la valeur de l'élément si le champ item.some n'est pas None, ou afficher une chaîne vide. Je ne veux pas utiliser l'instruction {% if item.somefield%}, je veux quelque chose comme {{item.somefield ou ''}} (j'ai essayé mais cela ne fonctionne pas)

Réponses:


225

Vous voulez le default_if_nonefiltre de modèle, ( doc ).

default_if_none affichera la chaîne donnée si la variable est «Aucune».

default affichera la chaîne si la variable vaut False, c'est-à-dire des chaînes vides, des listes vides, etc.

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

Merci @rockingskier;)
Moe Far

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

5
Vous voudrez peut-être ajouter une explication à votre réponse, plutôt que simplement du code. Cela aide la personne qui a posé la question à mieux comprendre votre réponse.
Victor Zamanian
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.