PyramidでMakoテンプレートを使いたい
PyramidはデフォルトではChameleonテンプレートを用いる.
けど,テンプレート内で繰り返し処理などを使いたい場合は,ロジックが書けないChameleonテンプレートでは物足りない.
というわけで,Makoテンプレートを使うことにした.
jinja2テンプレートとも迷ったけど,Makoテンプレートの方が違和感が少なかったので.
MakoテンプレートはPyramidをインストールしたときに勝手にインストールされるので,ちょちょっと設定を変更するだけでいい.
開発環境ならdevelopment.ini,本番環境ならproduction.iniを以下のように変更する.
(プロジェクト名はpyramidtest)
[app:main] use = egg:pyramidtest pyramid.reload_templates = true pyramid.debug_authorization = false pyramid.debug_notfound = false pyramid.debug_routematch = false pyramid.default_locale_name = jp pyramid.includes = pyramid_debugtoolbar pyramid_tm mako.directories = pyramidtest:templates # ここを追記 sqlalchemy.url = sqlite:///%(here)s/pyramidtest.sqlite
で,templatesフォルダにあるmytemplate.ptとかの拡張子を.makにして,views.pyのデコレータを
@view_config(route_name="hoge", renderer="hoge.mak")
みたいにするだけ.