2008年09月10日
Python | Djangoのテンプレートシステム
Django | The Django template language | Django Documentation
Djangoのテンプレートシステムが僕にはとても使いにくい。
DjangoでHTMLを出力させることは今まであまりなく、あってもシンプルなものだったので、今日までこのことに気付かなかった。
設計思想は分かるけど、HTMLレベルのデザインもプログラムも両方やる自分にとっては、ifタグで >= などの演算子も指定できなければ、and や or で繋ぐことも出来ないなんて我慢ならない(これを実現するカスタムタグは既に存在するけど)。
ロジックは全部カスタムタグでやれってことなんだろうけど、カスタムタグを作るのもやたらとややこしいコードが必要で、直感的とは言いづらい。JSPのTaglib作る方がシンプル。
しかもタグの出力結果にフィルタを掛けることもできないので、再利用しにくいカスタムタグを作らざるを得ない。尽く柔軟性に欠ける。
何か使い方を間違っているのか?
Pylonsみたいにテンプレートエンジンが選べればいいのだが。他のテンプレートエンジンに詳しいわけではないので、似たり寄ったりなのかも知れないけど。
Comment