寫網頁程式時,要輸出到網頁上的資料常常會帶有 HTML 標籤,譬如 <html>blahblah</html>,或者資料內容「像」HTML 標籤,例如 <亂講>一通</亂講>。在 Django template 中,提供了一個 filter 來把字串裡的 HTML 標籤相關字碼轉成 HTML entity。這個 filter 就是 escape。相關說明見 Django 文件。
用法很簡單:
<span class="message">{{ message.message|escape }}</span>
如果我們沒有在 message.message 後面加上 escape filter,那麼萬一 message.message 這個字串裡放了 < 或 > 一類的字元,就會弄亂 HTML 排版。更有甚者,會造成 XSS vulnerability。
escape 是 Django template 處理字串資料輸出到網頁上簡單、好用而必要的 filter。我們會常常用到它。
Posted by yungyuc
at 22:48,
0 comment,
0 trackback.