他のテンプレートエンジンを使う
TurboGears?はそのままの状態ではKidテンプレートを使います。TurboGearsは、国際化フィルタやウィジェットなど、深くKidと統合されています。
TurboGears?への統合を簡単にするために、TurboGearsは他のテンプレートエンジンにもいくつかのサポートを提供していますし、例えば Cheetah のサポートを提供するTurboCheetahプラグインをメンテナンスしています。またTurboGearsはテンプレートエンジンの プラグインインターフェイス を使用しており、他のツール、例えばCherryPyに対する Buffet でもこれを使うことができます。これによって組み込み前のテンプレートエンジンへ広くアクセスすることが可能になります。
他のテンプレートエンジンを使う
プラグインはPython Eggsの形で得ることができます。プラグインを easy_install すると、TurboGearsは自動的にそれらの新しいテンプレートをレンダリングすることができるようになるでしょう。
それぞれのテンプレートエンジンは自分を特定するための名前あるいは "スキーム" を持っています。例えばKidテンプレートは "kid" スキームを持っています。Cheetahテンプレートは "cheetah" スキームを使います。デフォルトではTurboGearsはKidテンプレートを使いますが、以下のような特別なメソッドを使うことで簡単にCheetahテンプレートを利用することができます:
@turbogears.expose(template="cheetah:yourpackage.templates.filename")
def index(self):
return dict(someval=5)
このメソッドからの出力をレンダリングするとき、TurboGearsはテンプレートスキームに気づき、適切なエンジンを使うでしょう。
他のテンプレートエンジンを使うことは、どのようにJSON出力が処理されるかということに影響を与えません。 allow_json フラグをセットすればJSONで出力することはやはり可能です。
またアプリケーション全体、あるいは特定のパスにたいして特定のエンジンを使うということもできます。これは tg.defaultview という設定値を通して行います。使いたいテンプレートエンジンを値としてセットするだけです。デフォルトではこの値は "kid" ですが、例えば "cheetah" をセットすることもできるということです。

