Locked History Attachments

Python/Genshi

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