django template display item value or empty string

Question:

My code in template is like this:

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

I want to display the item value if the item.somefield is not None, or display an empty string. I don’t want to use the {% if item.somefield %} statement, I want something like {{ item.somefield or ” }}(I tried this but it doesn’t work)

Asked By: Roger Liu

||

Answers:

You want the default_if_none template filter, (doc).

default_if_none will display the given string if the variable is ‘None’.

default will display the string if the variable evaluates to False, ie empty strings, empty lists etc

{{ item.somefield|default_if_none:"" }}
{{ item.somefield|default:"" }}
Answered By: rockingskier
{{ item.somefield|default_if_none:"" }}
Answered By: matino
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.