Jinja2: html escape-переменные Как я могу html-escape опасный unsanitized вход в jinja2? Могу ли я сделать это внутри шаблона или это нужно сделать в коде python? У меня есть переменная, которая может содержать символы da <ngero> u & s. Как избежать этого в jinja2 Ответ 1 например. {{ user.username|e }} Протяните его через фильтр |e Jinija: Документация дизайнера шаблонов → Встроенные фильтры: Escape Ответ 2 Вы также можете указать окружению autoescape все: e = Environment(loader=fileloader, autoescape=True) Примечание: в jinja1 это auto_escape Ответ 3 Если вы хотите избежать html в своей программе, вы можете сделать это, как это (пример): >>> import jinja2 >>> jinja2.__version__ '2.6' >>> a '<script>alert("yy")</script>' >>> jinja2.escape(a) Markup(u'<script>alert("yy")</script>') >>> str(jinja2.escape(a)) '<script>alert("yy")</script>' Ответ 4 Флажок имеет встроенный фильтр tojson: http://flask.pocoo.org/docs/templating/#standard-filters
Ответ 1 например. {{ user.username|e }} Протяните его через фильтр |e Jinija: Документация дизайнера шаблонов → Встроенные фильтры: Escape
Ответ 2 Вы также можете указать окружению autoescape все: e = Environment(loader=fileloader, autoescape=True) Примечание: в jinja1 это auto_escape
Ответ 3 Если вы хотите избежать html в своей программе, вы можете сделать это, как это (пример): >>> import jinja2 >>> jinja2.__version__ '2.6' >>> a '<script>alert("yy")</script>' >>> jinja2.escape(a) Markup(u'<script>alert("yy")</script>') >>> str(jinja2.escape(a)) '<script>alert("yy")</script>'
Ответ 4 Флажок имеет встроенный фильтр tojson: http://flask.pocoo.org/docs/templating/#standard-filters