1``defined`` 2=========== 3 4``defined`` checks if a variable is defined in the current context. This is very 5useful if you use the ``strict_variables`` option: 6 7.. code-block:: jinja 8 9 {# defined works with variable names #} 10 {% if foo is defined %} 11 ... 12 {% endif %} 13 14 {# and attributes on variables names #} 15 {% if foo.bar is defined %} 16 ... 17 {% endif %} 18 19 {% if foo['bar'] is defined %} 20 ... 21 {% endif %} 22 23When using the ``defined`` test on an expression that uses variables in some 24method calls, be sure that they are all defined first: 25 26.. code-block:: jinja 27 28 {% if var is defined and foo.method(var) is defined %} 29 ... 30 {% endif %} 31