• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar

Tech Life

エンジニアの生き方を考えるメディア

  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • 利用規約
  • プロフィール
You are here: Home / IT・プログラミング / Python / フレームワーク / Flask / Flaskのテンプレートでfor文、if文、コメント文の書き方

Flaskのテンプレートでfor文、if文、コメント文の書き方

2020年12月13日 by 9nmatsumoto

FlaskはJinjaというテンプレートエンジンを利用している。
Jinjaを用いるとHTMLのコード上に、Pythonのコードを記述して、

  • Viewから渡された値の表示
  • for, ifでのループや分岐処理の実行
  • コメント文の表示

などを行うことができる。
値の表示は、こちらの記事で記述したが、ここでは、for文, if文、コメント文の書き方を見ていく。

Contents
  1. テンプレートでfor文を利用する
  2. テンプレートでif文を利用する
  3. コメント文の書き方

テンプレートでfor文を利用する

テンプレートでfor文を利用するには、以下のように記述すればよい

{% for ○○ %}
ループ処理
{% endfor %}

 
○○の中には、自分がループさせたい内容を書く。
以下に、Flaskのループについて色んなやり方を記述した。

Example

  • リスト型、タプル型のループ
{% for fruit in fruits %} <# fruitsをループさせる #>
  <p>{{ fruit }}</p><# ループして取り出した値を表示(fruitsの中身がapple, lemon, bananaの場合、apple, lemon, bananaそれぞれ表示) #>
{% endfor %}

 

  • 辞書型のループ
{% for key in user %} <# userが辞書型の場合、辞書のキーが取り出されてkeyに格納される #>
  <p>{{ key }}: {{ user[key] }}</p> <# キーの値とキーを元に辞書から取り出した値が表示される #>
{% endfor %}

 

  • 辞書型のitems()を利用して、キーと値を同時に取り出す。
{% for key, value in user.items() %}<# items()を利用すると、キーと値をそれぞれ取り出して、1つ目の変数(key)、2つ目の変数(value)に入れることができる #>
  <p>{{ key }}: {{ value }}</p>
{% endfor %}

テンプレートでif文を利用する

テンプレート内でif文を利用するには、以下のように記述すればよい。
 

{% if ○○ %}
:
{% elif ×× %}
:
{% else %}
:
{% endif %}

 
○○、××には、ifで判定したい条件式を記述する。

Example

  • ifで条件を記述する。
{% if color == 'red' %}<# colorがredかどうか #>
  <p>colorはredです</p>
{% elif color == 'blue' %}
  <p>colorはblueです</p>
{% elif color == 'yellow' %}
  <p>colorはyellowです</p>
{% else %}
  <p>colorはその他の色です</p>
{% endif %}

テンプレートの条件式に記述する内容には、以下のようなものがある。

・テンプレートの条件式

式 意味
== 左辺と右辺が等しいか
!= 左辺と右辺が等しくないか
< 左辺が右辺より小さい
<= 左辺は右辺以下
> 左辺が右辺より大きい
>= 左辺は右辺以上
in 右辺がリストやタプル、辞書などで左辺の値が含まれる
not in 右辺がリストやタプル、辞書などで左辺の値が含まれない

コメント文の書き方

Flaskのテンプレートでコメント文を書くには、以下のように{# ・・・ #}で囲えばよい。

Example

  • コメントの書き方(1行)
<h1>{{ color }}</h1>{# ここは実行されない #}←{#から#}までがコメント

 

  • コメントの書き方(複数行)
<h1>{{ color }}</h1>
{#
ここからは
何行書いても
コメントで
実行されない
#}

以上、Flaskのテンプレートの利用方法の一つ目として、for文の書き方、if文の書き方、コメント文の書き方について説明しました。


« Previous

デバッグの方法

Next »

テンプレートを継承する方法


Flask入門記事一覧はこちら

Filed Under: Flask Tagged With: flask, python

Primary Sidebar

注目記事

プロのエンジニアが選ぶPython入門者、初心者向けの書籍10選
元SEが語る、システムエンジニア(SE)ってどんな仕事?きつくてつらいのか?
元SEが語る、システムエンジニアの良いところ

スポンサーリンク