如何关闭Django模板的自动转义

如何关闭Django模板的自动转义

Django的模板中会对HTML标签和JS等语法标签进行自动转义,缘由显而易见,这样是为了安全。可是有的时候咱们可能不但愿这些HTML元素被转义,好比咱们作一个内容管理系统,后台添加的文章中是通过修饰的,这些修饰多是经过一个相似于FCKeditor编辑加注了HTML修饰符的文本,若是自动转义的话显示的就是保护HTML标签的源文件。为了在Django中关闭HTML的自动转义有两种方式,若是是一个单独的变量咱们能够经过过滤器“|safe”的方式告诉Django这段代码是安全的没必要转义。好比:html

<p>这行表明会被自动转义</p>{{ data }}
<p>这行表明不会被自动转义</p>{{ data|safe }}安全

其中第二行咱们关闭了Django的自动转义
咱们还能够经过{%autoescape off%}的方式关闭整段代码的自动转义,好比下面这样:spa

{% autoescape off %}
    Hello {{ name }}
{% endautoescape %}htm

相关文章
相关标签/搜索