安企 CMS 模板中怎么将 HTML 代码不转义,而是解析输出呢?
safe
过滤器可以取消模板输出的默认转义属性,让直接输出 html 代码到界面,让浏览器解析 HTML 代码。一般用在富文本输出中,如显示文章详情等情况下。
注意:使用 safe
过滤器,默认认为你的输出是安全的,它不会对特殊字符进行转义,因此如果代码中包含有 xss 注入等问题情况,它也会原样输出。请注意防范风险。
使用方法
safe
过滤器的使用方法:
{{ obj|safe }}
比如将 <script>
保留输出,不进行转义,则可以这么写:
{{ "<script>"|safe }}
# 显示结果
<script>
示例演示
{{ "<script>"|safe|escape }}
{{ "<script>"|safe|e }}
显示结果
<script>
<script>