1``raw`` 2======= 3 4The ``raw`` filter marks the value as being "safe", which means that in an 5environment with automatic escaping enabled this variable will not be escaped 6if ``raw`` is the last filter applied to it: 7 8.. code-block:: jinja 9 10 {% autoescape %} 11 {{ var|raw }} {# var won't be escaped #} 12 {% endautoescape %} 13 14.. note:: 15 16 Be careful when using the ``raw`` filter inside expressions: 17 18 .. code-block:: jinja 19 20 {% autoescape %} 21 {% set hello = '<strong>Hello</strong>' %} 22 {% set hola = '<strong>Hola</strong>' %} 23 24 {{ false ? '<strong>Hola</strong>' : hello|raw }} 25 does not render the same as 26 {{ false ? hola : hello|raw }} 27 but renders the same as 28 {{ (false ? hola : hello)|raw }} 29 {% endautoescape %} 30 31 The first ternary statement is not escaped: ``hello`` is marked as being 32 safe and Twig does not escape static values (see 33 :doc:`escape<../tags/autoescape>`). In the second ternary statement, even 34 if ``hello`` is marked as safe, ``hola`` remains unsafe and so is the whole 35 expression. The third ternary statement is marked as safe and the result is 36 not escaped. 37