Django treats {{ var }}
as some variable in its template. How can I escape {{ var }}
or {{
or }}
such that django does not treat it as variable.
<p>"{{ some text }}"</p>
Should prints exactly the same.
Since the template system has no concept of "escaping", to display one of the bits used in template tags, you must use the {% templatetag %} tag.
What does {{ name }} this mean in Django Templates? {{ name }} will be the output. It will be displayed as name in HTML. The name will be replaced with values of Python variable.
For example, you can check if my_textfield contains a script tag. If so, mark the instance as malicious and return an escaped version of my_textfield (the normal Django behavior). Otherwise, use mark_safe to return your HTML code marked as safe.
Django 1.5 introduced {% verbatim %}
template tag. It stops template from parsing contents of this tag:
{% verbatim %} {{ var }} {% endverbatim %}
will be rendered as:
{{ var }}
I believe you are looking for the templatetag
template tag.
As the linked-to doc states,
Since the template system has no concept of "escaping", to display one of the bits used in template tags, you must use the
{% templatetag %}
tag.
For example:
<p>"{% templatetag openvariable %} some text {% templatetag closevariable %}"</p>
will appear as so:
<p>"{{ some text }}"</p>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With