{% if %}で条件付き表示を行う
今日は、『つくってマスターPython』の6-3 “Jinja2テンプレートの活用”で学んだことをアウトプットします。
{% if %}で条件付き表示を行う
状況に応じて表示をON/OFFするのに用いられるのが、{% if %}という構文です。
テンプレートファイルindex.htmlに以下のように記述をします。ここでは、{% if %}という記述を用意し、変数flgの値がTrueならばその後の部分を、Falseならば{% else %}以降の部分を表示するようにしてあります。
<!DOCTYPE html>
<html lang=ja dir="ltr">
<head>
<meta charset="utf-8">
<title>{{title}}</title>
<style>
p { foont-size: 20pt}
.ok { font-weight: bold; color: blue;}
.ng { text-decoration: underline; color: red;}
</style>
</head>
<body>
<h1>{{title}}</h1>
{% if flg %}
<p class="ok">現在は、利用できます。</p>
{% else %}
<p class="ng">※現在、利用できません。</p>
{% endif %}
</body>
</html>
index.htmlテンプレートを読み込み表示するスクリプトは以下のようになります。
from flask import Flask, render_template
app = Flask("helloapp")
@app.route("/")
def hello():
return render_template('index.html',
title='Hello',
flg=True)
if __name__ == '__main__':
app.debug = True
app.run(host='127.0.0.1')
これを実行し、http://localhost:5000/にアクセスすると、以下のように表示されます。
また、スクリプトのflg=Trueの値をFalseに変更すると、以下のように表示が変わります。
サポート、本当にありがとうございます。サポートしていただいた金額は、知的サイドハッスルとして取り組んでいる、個人研究の費用に充てさせていただきますね♪