textfieldモデルに格納したHTMLタグをエスケープせずに出力する方法

Djangoのモデルに設定したtextfieldのカラムにHTMLタグを含む文字列を格納したのですが、テンプレートに渡す際にエスケープされて出力されてしまいました。

HTMLタグをエスケープせずに出力する方法をメモします。

「safe filter」を使う

HTMLタグをエスケープさせずに出力するにはsafe filterを使います。

...
<div>
{{ var|safe }}
</div>
...

↓こういう使い方もできます。使う機会はないかもしれませんが。

<div>
{{ "<p>hogehoge</p>"|safe }}
</div>

まとめ

これで心置きなくHTMLタグをDBに保存できます。やったね!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください