Djangoのテンプレートエンジン使ってhtmlファイル内でif記述した時に詰まった事
例えばこう
from django.http import HttpResponse from django.template import Context from django.template import loader def index(request): data = [ {'name' : 'David', 'age' : '15', 'alive' : 'true'}, {'namd' : 'Beyonetta', 'age' : '2025', 'alive' : 'false'}, {'name' : 'Mizuki', 'age' : '0x1B', 'alive' :'true'}, ] t = loadeer.get_template('index.html') return HttpResponse(t.render({'data':data}))
テンプレートでは「alive」の値が「true」なら「生きてる」、そうでなければ「生きてるとはいえない」と表示したい
{# ループ開始タグ #} {% for val in data %} {# name 要素の表示 #} Name : {{ val.name }}<br> {# age 要素の表示 #} Age : {{ val.age }}<br> {# 要素判定 #} {% ifequal val.alive 'true' %} 生きてる {% else %} 生きてるとはいえない {% endifequal %} <br> {# ループ終了タグ #} {% endfor %}
ノリで「{% if val.alive == 'true' %}生きてる{% endif %}」って書いたらエラーが出たのでマニュアル見た。
Django テンプレート言語 ― Django v1.0 documentation