如何關閉Django模板的自動轉義

2021-08-28 14:46:39 字數 1104 閱讀 5932

其實我是想輸入帶格式的資訊的。因為爬下來的資料這樣顯示效果會比較好。

但是django的模板中會對html標籤和js等語法標籤進行自動轉義,原因顯而易見,這樣是為了安全。但是有的時候我們可能不希望這些html元素被轉義,比如我們做乙個內容管理系統,後台新增的文章中是經過修飾的,這些修飾可能是通過乙個類似於fckeditor編輯加註了html修飾符的文字,如果自動轉義的話顯示的就是保護html標籤的原始檔。為了在django中關閉html的自動轉義有兩種方式,如果是乙個單獨的變數我們可以通過過濾器「|safe」的方式告訴django這段**是安全的不必轉義。比如:

這行代表會被自動轉義

: }這行代表不會被自動轉義

: }

其中第二行我們關閉了django的自動轉義。

我們還可以通過的方式關閉整段**的自動轉義,比如下面這樣:

hello }

在使用中,發現直接加上這兩句**是不可以的,因為我們後台返回的是 str,django底層是通過列表來操作的, 導致報錯

需要從後端進行操作:

如果需要渲染這段字串,需要在view裡這樣寫:

from django.utils.safestring import mark_safe

函式裡面這樣寫:

pagehtml = mark_safe("首頁")

ret =

return render(request, "list_equip_category.html",ret)

前端頁面直接使用}即可。

mark_safe這個函式就是確認這段函式是安全的,不是惡意攻擊的。

這樣就可以了

如何關閉Django模板的自動轉義

django的模板中會對html標籤和js等語法標籤進行自動轉義,原因顯而易見,這樣是為了安全。但是有的時候我們可能不希望這些html元素被轉義,比如我們做乙個內容管理系統,後台新增的文章中是經過修飾的,這些修飾可能是通過乙個類似於fckeditor編輯加註了html修飾符的文字,如果自動轉義的話顯...

Django模板的自動轉義

django的模板中會對html標籤和js等語法標籤進行自動轉義,原因顯而易見,這樣是為了安全。但是有的時候我們可能不希望這些html元素被轉義 關閉自動轉義 比如我們做乙個內容管理系統,後台新增的文章中是經過修飾的,這些修飾可能是通過乙個類似於fckeditor編輯加註了html修飾符的文字,如果...

關閉Zend Framework模板自動分發

在zend framework框架中,通常情況下,每個action對應著自己的模板目錄,以及相應的模板檔案。但是有的時候,一些控制器處理的業務邏輯類似,可以公用同一套模板,這個時候,我們就沒有必要再去重新複製乙個一模一樣的模板檔案,因此,適時的關閉模板自動分發,是乙個好的手段。我目前總結出zf有三種...