我怎么HTML-逃避危险的Jinja2输入unsanitized?
我能做到这一点的模板中,或者必须在它Python代码来完成?
我有可能包含大<ngero>û&S个字符的变量。 我怎么逃脱它的Jinja2
我怎么HTML-逃避危险的Jinja2输入unsanitized?
我能做到这一点的模板中,或者必须在它Python代码来完成?
我有可能包含大<ngero>û&S个字符的变量。 我怎么逃脱它的Jinja2
如
{{ user.username|e }}
管它通过|e
过滤器
Jinija:模板设计文档- >内建过滤器:逃生
你也可以告诉环境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://flask.pocoo.org/docs/templating/#standard-filters