Personal tools

TurboGearsのCatWalkを使ってみた

リスト画面

ブラウズ画面

編集画面

TurboGears 0.9から搭載されているCatWalkを使ってみた。CatWalkとは,データベースの定義を動的に読み込んで,CRUDフォームを自動生成してくれるツール。

使い方は簡単で,controllers.pyで

from turbogears.toolbox.catwalk import CatWalk

して,Rootクラスなどに

catwalk=CatWalk(model)

と定義してあげるだけ。TurboGearsのアプリを起動し,http://localhost:8080/catwalk/ などにアクセスすると,CatWalkの画面が現れる。

上のコードで,Rootクラスにcatwalkというアトリビュートを設定しているわけだけど,CherryPyがURLを分解して,catwalkにリクエストを届けてくれているのですな。

画面は左のような感じ。日付編集用にはカレンダーウィジェットが用意されているし,リレーションも編集できる。パスワードがハッシュ化されているのとかも注目ポイントね。TG_User由来のmodelであれば,設定ひとつで勝手にパスワードをハッシュ化してくれて,かつ標準の認証(identity)でも使ってくれる。いやあ,気が利いているよなあ。データ投入用とか,お客に見せない系のフォームはもうこれでOKという感じ。Pythonistaの「能力の余りよう」といったら凄いわ。

Ajaxっぼく作ってあるので,ブラウザ上でURLが切り替わってリフレッシュするような遷移はほとんど無い。「戻るボタンが使えない」とかいうと怒るよ言ってないですかそうですか。

英文のHowTo
http://www.turbogears.org/docs/toolbox/catwalk.html
The URL to Trackback this entry is:
http://coreblog.org/ats/using-turbogears-catwalk/tbping

Re:TurboGearsのCatWalkを使ってみた

Posted by liris at 2006-03-29 17:02

tg-admin toolbox

でWebからいろんなことができますが、そこからCatWalkの機能もつかえます。ソースを変更して、catwalkを使えるようにしなくても大丈夫です。

Re:TurboGearsのCatWalkを使ってみた

Posted by ats at 2006-03-29 17:12

>lirisさん

どうもです:-)

>tg-admin toolbox
>
>でWebからいろんなことができますが、そこからCatWalkの機能もつかえます

そうですね,TurboGearsのツールボックスは便利で感心します
ツールボックスでない,通常のアプリを立ち上げながらcatwalkの機能を使ってみたかったので,コードを書いてみました。。。
やってみて気づいたのですが,Toolbox上のCatWalkと,Rootなどの下に置いたCatWalkではデザインがちょっと違いますね
引っ張ってくるマスターテンプレートが違うからかな。。。?

Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
コメントスパム避けのための認証文字列です

Captcha Image

Pythonな求人
r = urlopen("http://www.webcore.co.jp/recruit")
About this blog
■Author
atsこと柴田淳です。Atsushiはガイジンにうまく発音して頂けないので,これからはJunというペンネームで行こうと思っていましたがあんまり使ってません。
Webcore株式会社 代表取締役
■TRIVIAL TECHNOLOGIES 2.0
トリビアル・テクノロジー 2.0,「トリテク 2.0」と呼んでください。
Blog(ブログ)サイトです。Plone上で動く,オープンソースのBlog Product - COREBlog2を使っています。
 
最近書いた本,Mook
みんなのPython Webアプリ編
Pythonの基礎から,Webアプリやフレームワークの仕組みまで,つまることなく一気に学べる書籍です。「みんなのPython」と一緒に読んでください:-)。
みんなのPython
Pythonの入門書です。基本的なことから分かりやすく解説するよう勤めました。Pythonをはじめたいと思っている人,JavaやC++,PerlやRubyを学ぼうと思って躓いてしまった人はぜひ読んで下さい。
 

Powered by Plone, the Open Source Content Management System