Python | Django | テンプレートにおけるタグ・リファレンスの使い方
公開日:2021/6/22
Pythonには,DjangoというWebアプリケーションフレームワークがある.フレームワークのため,Djangoを利用するとWebアプリを通常よりも短時間で開発することが可能になる.
前記事にて,テンプレートにおけるフィルタ・リファレンスの使い方を記した.前記事での設定をそのまま引き継いだ上で,本記事では,テンプレートのおけるタグ・リファレンスを説明する.
◆実施環境
Python 3.8.8
Django 3.2.3
- タグ・リファレンスの準備
前の記事である"テンプレートにおけるフィルタ・リファレンスの使い方"の準備をそのまま利用する.
“tmp_project/templates/index.html”にタグ・リファレンスを記載する.そのため,"index.html"内はブランクにした.以下にブラウザで出力する方法を記す.
ターミナルを開き,”conda activate 仮想環境名”を実行し,仮想環境に移行する.”tmp_project”のディレクトリで”python manage.py runserver”を実行すると,以下が出力される.
System check identified no issues (0 silenced).
June 22, 2021 - 16:49:05
Django version 3.2.3, using settings 'tmp_project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
“http://127.0.0.1:8000/”をクリックし,ブラウザを開くと以下のように表示される.
ブラウザのURLに”http://127.0.0.1:8000/template_app/chocolate”を記入し,ブラウザを開くと,以下のようにブランクになっている.
- タグ・リファレンスの一覧
テンプレートにおける3つのタグ・リファレンス(“filter", “now", “firstof")を各々説明する.各タグ・リファレンスをどのように利用するのかを以下に明示し,”tmp_project/templates/index.html”にタグ・リファレンスを実際に記述する.また,当該記述が,ブラウザにどのような出力されるのかも確認する.
■filter
囲うことで,変数や値全体にフィルタ・リファレンスを与える.以下のように利用する.
{% filter "フィルタ・リファレンス" %}
"変数や値"
{% endfilter %}
実用例としてフィルタ・リファレンスである"upper"を利用すると,以下のようになる.なお,"product_name"と"maker"は変数となる.
{% filter upper %}
<h2>good mornint</h2>
<h2>hello world!</h2>
<h2>{{ product_name}}</h2>
<h2>{{ maker}}</h2>
{% endfilter %}
■実行結果
ブラウザには以下のように出力される.値や変数がすべて大文字になった.
■now
指定したフォーマットの文字列に従い,現在の日時を表示する.以下のように利用する.
{% now "フォーマット文字列 (ex. Y M j)" %} # Y:西暦,M:月,j:日を記す
実用例として以下のように利用する.
{% now "Y年m月j日 D H:i" %}
■実行結果
ブラウザには以下のように出力される.現在日時が指定したフォーマットで出力される.
■firstof
タグに渡された変数で,Falseでない最初の変数の値を出力する.すべての変数が"False"の場合,引数が出力される.以下のように利用する.
{% firstof "変数1" "変数2" "引数" %}
実用例として以下のように利用する."maker"は変数として利用されている.
# 1の処理
{% firstof taste maker "hello" %} # "maker"は変数として利用されている.
# 2の処理
{% firstof taste abc "hello" %} # 変数なしのため,引数である"hello"が出力される.
■実行結果
# 1の結果
ブラウザには以下のように出力される.変数"maker"の値である"meiji"が出力される.
# 2の結果
ブラウザには以下のように出力される."taste"も"abc"も変数ではないため,"False"になり,引数である"hello"が出力される.
以上