Django 管理画面でHTMLコンテンツを書いて表示したい

管理画面でHTMLを書いて、ビュー関数に渡して表示しようとしたら、HTMLタグがエスケープされてしまった。安全のために自動でエスケープするらしい。

自動エスケープ
< は "&lt;" に変換
> は "&gt;" に変換
"’" (クオート) は’&#39;’に変換
'"’ (二重クオート) は’&quot;’に変換
"&" は "&amp;" に変換

こんなときは safe を使って、エスケープが必要無いことを指示してあげる

{{ value|safe }}
検討事項

テンプレートフィルタのコレクションとして、マークアップ言語用フィルタに、textile、markdown、restructuredtextが準備されてました。MovableTypeの編集画面にあるやつといっしょですね。でも使い方がわからない。

参考
組み込みタグ/フィルタリファレンス

Django

Posted by skw