2007-08-11

Turbogearsピンポイントドキュメント一覧

前エントリで触れたんだが、「ドキュメント重要」ということなので、自分が目を通すことの多いTurbogears関連のドキュメントの目次だけでも作っておこう。(日本語訳までできないのが残念ですが。)
Turbogearsはコードの大半をツールが自動生成してくれますので、ちょっとした作法なんかは自動生成された部分をチラ見するだけで、自分なりに追加機能を書き始めることも可能です。
ですが、やはり一貫した知識も必要なので、そのときはこういったドキュメントを読みます。

* Python Workshop the Edge 2007での柴田さんのハンズオン資料(PDF/日本語です)
入門記事です。自分がTurbogearsを使うきっかけになったのがこれでした。

* Turbogears公式リファレンス
Turbogearsの公式リファレンスです。Turbogearsでは各種デコレーターを使いますのでその使い方はここでよく見ることになります。

以下、各論。
* ユーザー登録機能のためのregistrationパッケージ
このトップページに文書が掲載されている。最近のWEBアプリでは、まずユーザー登録はどうしようかと考えるので、このすぐ使える機能一式のパッケージは重宝。
(登録、メールでの認証、ログイン、ログアウト、パスワード忘れ対策全部入り。)

* Modelを作る際に使うSQLAlchemyのドキュメント
モデルの作成は奥が深い。そのぶん、ドキュメントもちょっと規模が大きめです。
 * 低レベルなSQLを意識した使い方
  SQL脳から完全に脱却できない自分のための機能。。。

 * 高レベルなMapperを使った操作
  テーブルのリレーションを事前に定義して楽したい場合はこちら。
  パフォーマンスを改善するには、
  lazy=True
  deferred設定
  

* 各modelのCRUDを作るためのtgcrud
モデルを定義したら、これで一気にCRUDを作成する。

* Formのバリデーターについて
Formの扱いは、上に挙げているregistrationやtgcrudが生成するコードを見るとだいたいわかるのですが、ちゃんと知りたいならこのページがおそらくいいのでは。

* Kidテンプレート書式一覧
* その日本語訳を発見!
一通り仕組みができてきたら、実際のモデルのデータをページに埋め込んだりする段階にくるはず。その頃には、このテンプレートの書式一覧が必要です。
(柴田さんの日本語訳があることを今調べてて知った。。。。)

自分はSQLAlchemyとKidを使っていますので、上のようなラインナップです。
でもKidはXML的に妥当なテンプレートを書く必要があって、ちょっと厳しいなと思う。できれば差し替えたいところ。
SQLAlchemyには大満足。やりたいことが全てきれいにできる。パフォーマンスの調整も思いのまま。このツールはすばらしい。(普段仕事でJAVAのS2Daoも使うが、SQLAlchemyを知ってからはS2Daoがしんどくてしょうがない。。。)

自分もTurbogearsはまだここ1ヶ月ぐらいしか使ってませんので全くの素人レベルです。今後ここに役立つ文書のページを追記していきます。。。