ユーザー登録モジュール

TurboGearsのユーザー登録モジュールにregistrationがある。
使い方はいたって簡単。

インストールはsetuptoolsで。

easy_install registration

TurboGearsプロジェクト作成時にregistrationテンプレートを使う。

tg-admin quickstart -i -s -t registration 

ちなみにオプションの意味は以下のとおり。

i
Identity Management を使う。ようするにTuboGearsのユーザ認証を使う。
s
DBアクセスにSQLAlchemyを使う。
t
生成テンプレートを指定する。

作成されたプロジェクトには、registration用の設定ファイルがある。
conf/registration.cfgがそれ。
大半の人(local smtpサーバーを持ってない人)はregistration.mail.smtp_serverにsmtpサーバを設定する必要がある。
smtp認証があるならそれも設定すること。

実際にユーザー登録するには、register_controllersというモジュールを使う。

import register_controllers
class Root(controllers.RootController):
    registration = register_controllers.UserRegistration()

あとは、http://hostname/regsitrationにアクセスすると登録画面になる。
入力し終わると、仮登録されてメールが配信される。
メールの中に書いてあるURLにアクセスすると本登録完了。
ログインするとユーザ情報編集画面になる。

コントローラーはregister_controllersが生成されているので、この中でカスタマイズするということだろう。
画面側もkidテンプレートがあるので、同様にカスタマイズ可能だ。

あと、初期のmodel.pyの内容がちょっと古げ(a1相当か?)なので、色々直す必要があるのかも。
面倒なので、TurboEntityのmodel.pyを拾って上書きして動かした。