テンプレートエンジン
GAEには Django というのが入ってます。これを使えば実際の表示と処理を分割することができます。
テンプレート側にも条件判断や繰り返しなどの簡単な制御を入れることができますので、変数の内容によって表示する、しないの切り替えなどもできます。
{% if logged %} Login: {{ name }}<hr /> <a href="{{ url }}">Logout</a> {% else %} Not logged in.<hr /> <a href="{{ url }}">Login</a> {% endif %}
{% %} で囲まれた文は Django の命令文
{{ }} で囲まれた文は変数を展開して表示します
{% if logged %} は条件判断文で、logged という変数が1のときとそれ以外のときで処理を変えています。
ここで扱っている変数は、 logged / name / url です。
これらの変数はプログラムの以下の場所で設定しています。
template_values = { 'url': url, 'name': name, 'logged': logged } path = os.path.join(os.path.dirname(__file__), 'main.html') self.response.out.write(template.render(path, template_values))
まず、配列 template_values に
'テンプレート内のラベル': 変数名
として登録します。
その後、テンプレートのレンダリングの際に第1引数にテンプレートへのパス、第2引数に変数の配列リストを指定します。template.render(path,
template_values) の部分です。