📅  最后修改于: 2023-12-03 15:02:08.051000             🧑  作者: Mango
当我们使用{{ variable }}语句显示变量时,Jinja Template Engine默认自动进行HTML转义。但是有些情况下我们不希望这样做,因为我们想要显示HTML标记或其他特殊字符。这时候,我们可以使用Jinja的safe过滤器或者raw语言扩展来避免自动转义。
在模板中,我们可以使用safe过滤器,告诉Jinja该变量是安全的,值不需要进行HTML转义。例如:
<p>{{ variable|safe }}</p>
在这个例子中,我们使用了safe过滤器来告诉Jinja,我们不需要对variable进行HTML转义。
raw语言扩展可以让你更方便的避免自动转义。我们可以使用{% raw %}和{% endraw %}标记来告诉Jinja,在这个区域内的所有内容都不需要进行HTML转义。例如:
{% raw %}
<p>{{ variable }}</p>
{% endraw %}
在这个例子中,我们使用了raw语言扩展来告诉Jinja,我们不需要对variable进行HTML转义。
在Jinja中,我们可以使用safe过滤器或者raw语言扩展来避免自动转义,从而在模板中展示HTML标记或其他特殊字符。
注意:请谨慎使用这些方法,如果一个变量在处理过程中包含了恶意代码,那么它是不安全的。