if
and else
Template Filters
The if
and else
template filters are provided to enable conditional attribute values with the ...
attribute template tag:
The if
and else
template filters are automatically available in your components' templates, in other templates be sure to {% load tetra %}
.
if
Filter
When the value of the right hand argument evaluates to True
it returns the value of its left hand argument. When the value of the right hand argument evaluates to False
it returns an empty string ""
(a falsy value).
So when setting a class:
if my_var=True
you will generate this HTML:
if it's False
then you will receive this:
else
Filter
When the value of the left hand argument evaluates to True
it returns the value of its left hand argument. When the value of the left hand argument evaluates to False
(such as an empty string ""
) it returns the value of its right hand argument.
So with this:
If context_var="Some 'Truthy' String"
then you will generate this HTML:
if it's False
then you will receive this:
Chaining
if
and else
can be chained together, so with this:
If variable_name="A 'Truthy' Value"
then you will generate this HTML:
if it's False
then you will receive this:
It is possible to further chain the the filters such as: