Django 自動エスケープをオフにする
HTML の自動エスケープ
デフォルトでは、Django はすべてのテンプレートの変数タグの出力を自動的にエスケープするよう設定されています。具体的には、以下の 5 つの文字がエスケープされます。
- < を < に変換
- > を > に変換
- ' (single quote) is converted to '
- " ( ダブルクォート ) を " に変換
- & を & に変換
自動エスケープをオフにする
サイト単位やテンプレート単位、あるいは変数単位でデータの自動エスケープ機能を無効にしたい場合には、いくつかの方法があります。
変数単位での制御
This will be escaped: {{ data }}
This will not be escaped: {{ data|safe }}
テンプレートブロック単位での制御
{% autoescape off %}
Hello {{ name }}
{% endautoescape %}
参考サイト