1. TOP
  2. ブログ
  3. Django Template(テンプレート)spaceless、HTMLタグ間の空白、タブ、改行の自動削除

Django Template(テンプレート)spaceless、HTMLタグ間の空白、タブ、改行の自動削除

更新日:2021年2月1日
Django Template(テンプレート) のタグで、HTMLタグ間の空白、タブ、改行を自動で削除してHTML出力しない方法があり、便利ですので記載しておきます。

環境:Python3.8.2 Django3.1

HTMLタグ間の空白文字、タブ、改行を自動で削除

・spacelessタグ


templatesファイル
{% spaceless %}
<table>
  <tr>
    <td>データ</td>
  </tr>
</table>
{% endspaceless %}

上記のように spacelessのタグで囲むとその間のHTMLタグ間のスペース、空白文字、タブ、改行を自動で削除して下記のようなHTMLを出力してくれます。
HTML出力
<table><tr><td>データ</td></tr></table>


なお、HTMLタグとテキストの間、及びテキスト間のスペース、空白文字、タブ、改行は削除されませんのでご注意下さい。
これにより、ループ等でインデントによる空白などでHTMLのサイズが大きくなる場合でも圧縮してHTMLの容量を減らす事ができます。

以上。


B!

前の記事:Django Template(テンプレート) for文 使い方 リスト、タプル、辞書

次の記事:Django Template(テンプレート)ifchanged、forループで前回と異なる値か判定して処理変更