The yesno filter maps values that evaluate to True, False, and None to "yes", "no", and "maybe" or to alternative strings passed in as a comma-delimited string.
Variable
inventory = {
'gloves': 0,
'hats': 51,
'scarves': 2,
'socks': 13
}
Template
<ol>
{% for item, remaining in inventory.items %}
<li class="{{ remaining|yesno:'instock,outofstock' }}">
{{ item }}: {{ remaining }} remaining
{{ remaining|yesno:',(time to place an order)' }}
</li>
{% endfor %}
</ol>
Notice how the yesno filter is used once to determine the class value and again to determine whether or not to output “(time to place an order)”.
Result
<ol> <li class="outofstock">gloves: 0 remaining (time to place an order)</li> <li class="instock">hats: 51 remaining</li> <li class="instock">scarves: 2 remaining</li> <li class="instock">socks: 13 remaining</li> </ol>

Commentary
This is particularly useful for selecting class names for HTML elements.