将HTML代码解析输出,不转义

安企CMS模板中怎么将HTML代码不转义,而是解析输出呢?

safe 过滤器可以取消模板输出的默认转义属性,让直接输出html代码到界面,让浏览器解析HTML代码。一般用在富文本输出中,如显示文章详情等情况下。

注意:使用 safe 过滤器,默认认为你的输出是安全的,它不会对特殊字符进行转义,因此如果代码中包含有xss注入等问题情况,它也会原样输出。请注意防范风险。

使用方法

safe 过滤器的使用方法:

{{ obj|safe }}

比如将 <script> 保留输出,不进行转义,则可以这么写:

{{ "<script>"|safe }}
# 显示结果
<script>

示例演示

{{ "<script>"|safe|escape }}
{{ "<script>"|safe|e }}

显示结果

&lt;script&gt;
<script>