valor do item de exibição do modelo django ou string vazia

88

Meu código no modelo é assim:

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

Eu quero exibir o valor do item se o item.somefield não for Nenhum, ou exibir uma string vazia. Não quero usar a instrução {% if item.somefield%}, quero algo como {{item.somefield ou ''}} (tentei fazer isso, mas não funcionou)

Roger Liu
fonte

Respostas:

225

Você quer o default_if_nonefiltro de modelo, ( doc ).

default_if_none irá exibir a string fornecida se a variável for 'Nenhum'.

default irá mostrar a string se a variável for avaliada como False, ou seja, strings vazias, listas vazias etc.

{{ item.somefield|default_if_none:"" }}
{{ item.somefield|default:"" }}
rockingskier
fonte
Obrigado @rockingskier;)
Moe Far
12
{{ item.somefield|default_if_none:"" }}
matino
fonte
5
Você pode querer adicionar alguma explicação à sua resposta, em vez de apenas código. Isso ajuda a pessoa que fez a pergunta a entender melhor sua resposta.
Victor Zamanian de