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