我可以在模板内完成这个任务还是必须使用Python代码?
我有一个可能包含危险字符的变量。在jinja2中,如何对其进行转义?
您还可以告诉环境自动转义所有内容:
e = Environment(loader=fileloader, autoescape=True)
注意:在Jinja1中,这个属性为auto_escape。
>>> 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>'
您可以进行字符串检查并使用相应的转义字符进行替换。
例如:string=我是一个特殊字符 <
请执行以下操作:
string.replace("<","< ;")
import markupsafe; markupsafe.escape
,参见这里。 - undefined