140

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)

2 Answers 2

335

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:"" }}
Sign up to request clarification or add additional context in comments.

Comments

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

1 Comment

You might want to add some explanation to your answer, rather than just code. This helps the person who asked the question to better understand your answer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.