基本
サンプルのまんま
>>> from jinja2 import Template
>>> template = Template('Hello {{ name }}!')
>>> template.render(name='John Doe')
u'Hello John Doe!'
or renderに {'name': 'John Doe'}
for loop
ipythonで
from jinja2 import Template
str_temp = """
<title>{% block title %}{% endblock %}</title>
<ul>
{% for user in users %}
<li><a href="{{ user.url }}">{{ user.username }}</a></li>
{% endfor %}
</ul>
"""[1:-1]
template = Template(str_temp)
data = [ { 'url': 'imaoka.click', 'username': 'imaoka'} ]
template.render(users=data)
> u'<title></title>\n<ul>\n\n <li><a href="gimaoka.click">imaoka</a></li>\n\n</ul>'
{% block}
は無視
user
ではなく users
data.append({'url': 'hogehoge' ...
などで追加して試してみる
エスケープ
{#
とかシェルスクリプトでよく使うけどだめ
{{ '問題の箇所' }}
みたいな感じでエスケープできる
http://qiita.com/swfz/items/63b3036a44829f201001
block
テンプレート継承に使うらしい
いずれ書く