「Railsで作るAjax住所録」をTurboGearsで作ってみた

masuidriveさんの「Railsで作るAjax住所録」をTurboGearsで作ってみました。Railsだとscaffoldで超簡単にできるようですが、widgets.ListFormを継承してフォームの雛型を作って、必要なビューとコントローラを書いて、と進めていきました。ビューはほとんどそのまま頂いたので、ajax_scaffold.jsを使っています。30分どころじゃなくてかなり時間がかかりましたが、おかげでTurboGearsの流儀がだいぶ分かったような気がします。
動作サンプルを公開できるようにしていて思ったのですが、CherryPyを使って開発している分には簡単軽快なのですが、Apache + mod_pythonな本番サーバにデプロイする方法に黒魔術が必要なようです。HTTPヘッダへ値がうまくセットできなくて、modpython_gateway.pyっていうプログラムを使いました (5/21 遅いのでCherryPy + mod_proxyに変更しました)。この辺が1.0リリースまでに改良されるといいのですが。それから、このサーバはPython2.3なのですが、controllers.pyの@expose()を[expose()]に書き換える必要がありました(デコレータが使えないため)。まだ、2.3で動いているサーバも多いと思いますが、一応問題なく動いているようです。

大したプログラムではありませんが、ソースコードはMITライセンスで公開します。世の中の誰かの参考になれば… 展開したら、dev.cfgのsqlobject.dburiを適当に書き換えてください。その後、以下のコマンドで必要なテーブルが自動生成されます。
$ tg-admin sql create
次のコマンドを実行すると、CherryPyのWebサーバが8080ポートで起動します。
$ ./start_address.py


Leave a comment


:

:

:

:

このエントリーのはてなブックマーク (-)