将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>