2009-08-13 56 views
14

通常當你想標記字符串輸出的Jinja2是安全的,你做這樣的事情:如何在Jinja2的視圖(或模板)中將字符串標記爲「安全」?

{{ output_string|safe() }} 

但是,如果有什麼output_string是總是安全嗎?我不想每次重複使用安全過濾器。

我有一個名爲「emailize」的自定義過濾器,用於在郵件中預先輸出url。這些&符號似乎總是被轉義出來。我的自定義篩選器中是否有方法將輸出標記爲安全?

回答

11

使用Markup類:

類jinja2.Markup([字符串])

標記一個字符串爲包含在HTML/XML輸出安全,而無需進行轉義。

11

檢查SafeString,例如像:

from django.utils.safestring import SafeString 
... 
return context.update({ 
     'html_string': SafeString(html_string), 
}) 
+1

這不工作的Jinja2 – Greg 2013-12-05 02:17:39

相關問題