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

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

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

「safe filter」を使う

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

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

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

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

まとめ

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

コメントを残す

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.