我如何在jinja2中跳过危险的unsanitized输入?jinja2:html转义变量
我可以在模板内部执行它,还是必须在Python代码中完成?
我有一个变量,可能包含da <ngero> u & s chars。我如何在jinja2中逃脱它
我如何在jinja2中跳过危险的unsanitized输入?jinja2:html转义变量
我可以在模板内部执行它,还是必须在Python代码中完成?
我有一个变量,可能包含da <ngero> u & s chars。我如何在jinja2中逃脱它
例如,
{{ user.username|e }}
管它通过|e
过滤
Jinija: Template Designer Documentation -> Builtin Filters: Escape
你也可以告诉环境autoescape一切:
e = Environment(loader=fileloader, autoescape=True)
注:在jinja1这是auto_escape
如果你想在哟中转义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>'
瓶有一个内置的tojson
过滤器:
上面的链接断裂,使用http://jinja.pocoo.org/docs/templates /?highlight = pipe%20safe#html-escaping – 2014-08-11 05:04:59
再次破坏http://jinja.pocoo.org/docs/dev/templates/#builtin-filters – silpol 2016-09-08 04:53:24