GenshiはXML(XHTML)をベースとしているテンプレートエンジンです。 開発はTracで有名なedgewall社が行っており、Trac0.11からテンプレートエンジンに採用されています。
インストール
easy_install で一発。
easy_install Genshi
genshi_django.py
http://huangyilib.googlecode.com/svn/trunk/mashi_django/genshi_django.py
xmlns属性
GenshiのテンプレートはXHTML(XML)で記述するため、xmlns(XML名前空間)の宣言をhtmlタグに記述する必要があります。
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://genshi.edgewall.org/">
</html>
ループ
py:for
trタグやliタグなど、繰り返したいタグの属性としてpy:forを定義します。
<ul>
<li py:for="item in items">${item.name}: {item.desc}</li>
</ul>
itemseがIteratableなオブジェクトで、itemを要素としてループ処理されます。
⇒http://genshi.edgewall.org/wiki/Documentation/0.5.x/xml-templates.html#looping
