[TurboGears] turbogears.identity.currentオブジェクトは、テンプレート内ではtg.identity。

環境

この記事の内容は、TurboGears 1.0.1で確認しました。

identity

turbogears.identityは、モジュールです。このため、turbogears.identity.currentをコントローラ内で使おうと思ったら、

from turbogears import identity

# identity.currentを使う。

と記述します。turbogears.identity.currentは、turbogears.identity.IdentityWrapperクラスのオブジェクトで、ドキュメントにもある通り、Userオブジェクトにアクセスするときは、

turbogears.identity.current.user

と記述します。

一方、テンプレート内では、ドキュメントにも書いてありますが、tg.identityはturbogears.identity.currentの別名です。なので、テンプレート内でUserオブジェクトにアクセスするときは、

tg.identity.user

と記述します("current"がない)。

所感

ちょっと紛らわしいです。