Django模板的自動轉義

2021-07-11 05:04:16 字數 719 閱讀 7562

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

1.這行代表會被自動轉義}

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

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

hello }

對應的實際應用就是,系統在儲存一些資料時,必須要儲存富文字(html標籤)到資料庫中(textfield),當這條資料被呼叫的時候,顯示出來的就是帶有html的一段標籤,這時(系統的前後端未分離)顯示給前端(預設自動轉義)就是一段html的字串,而不是真正的html標籤,所以要顯示真正的html標籤的話,就要關閉自動轉義。兩種方法如上嘍。

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

其實我是想輸入帶格式的資訊的。因為爬下來的資料這樣顯示效果會比較好。但是django的模板中會對html標籤和js等語法標籤進行自動轉義,原因顯而易見,這樣是為了安全。但是有的時候我們可能不希望這些html元素被轉義,比如我們做乙個內容管理系統,後台新增的文章中是經過修飾的,這些修飾可能是通過乙個類...

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

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

21 Django模板 HTML轉義

django對字串進行自動html轉義,如在模板中輸出如下值 檢視 defindex request return render request,temtest index2.html 模板 django會將如下字元自動轉義 會轉換為 會轉換為 單引號 會轉換為 雙引號 會轉換為 會轉換為 當顯示不...