Django テンプレートタグ
テンプレートタグ
Djangoのテンプレートでは、ifステートメントやforループなどのプログラミングロジックを実行できます。
これらのキーワード、ifとfor、Djangoでは「テンプレートタグ」と呼ばれます。
テンプレートタグを実行するには、タグを{% %}括弧で囲みます。
例
templates/template.html:
{% if greeting == 1 %}
<h1>Hello</h1>
{% else %}
<h1>Bye</h1>
{% endif %}
Djangoコード
テンプレートタグは、プレーンなHTML以外のものがあることを Djangoに伝える方法です。
テンプレートタグを使用すると、HTMLをクライアントに送信する前にサーバーでプログラミングを行うことができます。
templates/template.html:
<ul>
{% for x in mymembers %}
<li>{{ x.firstname }}</li>
{% endfor %}
</ul>
次の章では、最も一般的なテンプレートタグについて学習します。
タグのリファレンス
すべてのテンプレートタグのリスト:
| Tag | Description |
|---|---|
| autoescape | 自動エスケープモードがオンかオフかを指定します |
| block | ブロックセクションを指定します |
| comment | コメントセクションを指定します |
| csrf_token | クロスサイトリクエストフォージェリからフォームを保護 |
| cycle | ループの各サイクルで使用するコンテンツを指定します |
| debug | デバッグ情報を指定します |
| extends | 親テンプレートを指定します |
| filter | 返す前にコンテンツをフィルタリングします |
| firstof | 最初の空でない変数を返します |
| for | forループを指定します |
| if | ifステートメントを指定します |
| ifchanged | forループで使用されます。値が変更された場合にのみブロックを出力します |
| include | 含まれるコンテンツ/テンプレートを指定します |
| load | 別のライブラリからテンプレートタグを読み込みます |
| lorem | ランダムなテキストを出力します |
| now | 現在の日付/時刻を出力します |
| regroup | オブジェクトをグループ別に並べ替えます |
| resetcycle | サイクルで使用されます。サイクルをリセットします |
| spaceless | HTMLタグ間の空白を削除します |
| templatetag | 指定されたテンプレートタグを出力します |
| URL | URLの絶対URL部分を返します |
| verbatim | テンプレートエンジンによってレンダリングされるべきではないコンテンツを指定します |
| widthratio | 指定された値と最大値の比率に基づいて幅の値を計算します |
| with | ブロックで使用する変数を指定します |