Jinja2を試してみた(Python テンプレートエンジン)

PythonのテンプレートエンジンであるJinja2を使って、 信号機の色を出力する簡単なサンプルを作ってみる。

Welcome | Jinja2 (The Python Template Engine)

インストー

環境はMBPローカル。pipですぐにインストールできる。

$ pip install jinja2

実装サンプル

signals.py

#!/usr/bin/python
# -*- coding: utf-8 -*-
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('./', encoding='utf8'))
tmpl = env.get_template('tmpl.txt')

signals = []
signals.append({'color':'blue'})
signals.append({'color':'yellow'})
signals.append({'color':'red'})

output = tmpl.render({'title':'signal color', 'signals':signals})

f = open('output.txt', 'w')
f.write(output)
f.close()

tmpl.txt

{{ title }}
{% for signal in signals -%}
 - {{ signal.color }}
{% endfor  %}

実行結果

output.txt

signal color
- blue
- yellow
- red