如何關閉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

相關文章
相關標籤/搜索