Clarify and add detail to tojson docs

Fix some confusing and obsolete prose.
This commit is contained in:
Mark Amery 2018-12-27 22:04:27 +00:00 committed by David Lord
parent 6606f66857
commit 24325ecb69
No known key found for this signature in database
GPG key ID: 7A1C87E3F5BC42A8
2 changed files with 18 additions and 9 deletions

View file

@ -110,16 +110,25 @@ by Jinja2 itself:
is for example very helpful if you try to generate JavaScript on the
fly.
Note that inside ``script`` tags no escaping must take place, so make
sure to disable escaping with ``|safe`` before Flask 0.10 if you intend
to use it inside ``script`` tags:
.. sourcecode:: html+jinja
<script type=text/javascript>
doSomethingWith({{ user.username|tojson|safe }});
doSomethingWith({{ user.username|tojson }});
</script>
It is also safe to use the output of `|tojson` in a *single-quoted* HTML
attribute:
.. sourcecode:: html+jinja
<button onclick='doSomethingWith({{ user.username|tojson }})'>
Click me
</button>
Note that in versions of Flask prior to 0.10, if using the output of
``|tojson`` inside ``script``, make sure to disable escaping with ``|safe``.
In Flask 0.10 and above, this happens automatically.
Controlling Autoescaping
------------------------