この記事では、Django テンプレート言語と、それをテンプレートで使用する方法について学びます。
Django テンプレート言語とは?
Django テンプレート言語 (DTL) はテキストベースのテンプレート言語で、 HTML, CSS, JS などのスクリプトと Python などのプログラミング言語との間の橋渡しをします。
DTL は特に、Django のロジックコードを HTML テンプレートファイル に埋め込むために開発者のために作られました。
DTL はまた、他のテキストベースのテンプレート言語と比較して、以下の点で大きな優位性を持っています。
- 単純さ
- 構文の習得が容易
- 拡張性
なぜ Django テンプレート言語が必要なのでしょうか?
ウェブアプリケーションには、2つの主要な構成要素があります。
- フロントエンド
- バックエンド
したがって、フロントエンドの開発者が HTML 部分で別々に作業し、バックエンドの開発者が Python-Django 部分で別々に作業すれば、より大きな意味を持ちます。
Django Template Language は、まさにそれを可能にします!
DTL を使えば、フロントエンドの開発者は Python を知る必要がなく、バックエンドのプログラマは HTML を知る必要がありません。
フロントエンドの人は HTML だけで作業でき、Django から情報が必要なところには HTML のコメントを残すことができます。
後でバックエンドの担当者は、HTML コメントを DTL 構文に置き換えるので、HTML の知識は必要ありません。
Django Template Language(DTL) の基本構造
DTL の構文は Python に非常によく似ています。
構成は以下の通りです。
- テンプレートタグ
- テンプレート変数
- テンプレートフィルタ
- テンプレートコメント
これから、それぞれを個別に見ていきます。
この記事もチェック:Djangoのテンプレートの使い方|タグや変数、if,for文の使い方を解説する
1. テンプレートタグ
テンプレートタグは、ある機能や処理を実行するものです。
つまり、何かを「する」のです。
{ % Tag % }
|
テンプレート・タグ自体には、5種類のタイプがあります。
1.1 条件文
Pythonの条件文と同様に、ロジックを実行するために使用します。
以下に例を示す。
{ % if % }
<code>
{ % end if % }
|
1.2 ループ
Pythonのloopと同様に、ループ内で変数を反復するために使用されます。
{ % for x in y % }
<code>
{ % endfor % }
|
1.3 ブロック宣言
ブロック宣言は、主にテンプレート継承で使用されます。
構文は次のとおりです。
{ % block content % }
<code>
{ % endblock % }
|
1.4 ファイルの取り込み
他のHTMLファイルを現在のファイルに含めることができます。
{ % include “header.html( file name)” % }
|
1.5 ファイルの継承
以下のコマンドは、他の HTML ファイルを現在のファイルに継承します。
{ % extends “base.html( file name)” % }
|
2. テンプレート変数
DTLのテンプレート変数は、Pythonの変数と似たような機能です。
構文は以下の通りです。
{{ <Variable_Name> }} |
テンプレート変数の例を以下に示します。
- 単純な変数: {{ title }} , {{ x }} 。, {{ x }}
- リスト属性 リスト属性: {{ fruits_list.0 }}
- オブジェクトの属性 オブジェクト属性 : {{ name.title }}
- 辞書属性 : {{ dict.key }}
これらの変数のデータはPythonのコードから直接引き出され、上記の構文を使ってHTMLコードに値を実装することができます。
3. テンプレート・フィルター
テンプレートフィルターは、テンプレート変数に対してフィルタリングを行うために使用されます。
テンプレート・フィルターのシンタックスは以下の通りです。
{{ <Variable_Name> | <filter_by_attribute> }} |
テンプレート・フィルタの最もよく使われる例としては、以下のようなものがあります。
- 大文字小文字の変更 : {{ name|title }}, {{ characters|upper_case }}.
- リストフィルター/スライス : {{ list|slice = ” :5 ” }} 。
- 切り捨て : {{ name|truncatewords : 80 }} 。
デフォルト : {{ value|default =”0″ }} * デフォルトの値。
4. テンプレートコメント
その名が示すように、これはpythonのコメントに相当するDTLです。
テンプレートコメントの構文は以下の通りです。
{ # <Comment> #}
|
Pythonと同じように、コメント属性の中に存在するコードは、コンソールでは実行されません。
結論
以上、皆さん! これは Django テンプレート言語についての全てでした。
これを使うと、HTML コードと Python を効率的にリンクさせることができます。
Django テンプレート言語に関する公式ドキュメントをチェックしてみてください。
次の記事でお会いしましょう! それまでは練習を続けてください!