初めてのTurbogears


Turbogearsのアップグレード

Turbogearsはインストール訳をしただけで放置していたのでした。たとえ手に負えないものであっても何でも流行りのものはいじってみなきゃ気が済まない私は、とりあえずインストールのその後をやってみることにしたのです。

初心者ならではの嘘や間違えを量産すればきっと誰かが助けてくれて、しかもお勉強になってしまうのではないかというのはきっと妄想で、現実はもっともっと厳しいものになるはずです。でもそうやって人生の荒海にもまれることによって、きっと僕にはミネラルたっぷりの塩味がついていくのでしょう。だからこそ人の流す涙はしょっぱいのです。

ですがツッコミ、おしかり、アドバイス、その他諸々何でも大歓迎です(あ、でもspamはいやかも…)。

ところで私はインストール厨なのでインストール訳をしたときにTurbogearsをインストールしてたんですが、これは相当に古いはず、と思ってアップデートを試みました。アップデートガイドに従って

ez_setup.py -U setuptools
easy_install -Uf http://www.turbogears.org/preview/download/index.html TurboGears

としてみると0.9a8というバージョンが入りました。

easy_installというのは好きなパッケージを自動的にインストールしてくれるステキな人らしいです。apt, yum, emergeなどのパッケージ管理システムに似てますな。おっと、Rubyにも同じようなRubyGemsとかいう人を発見しました。どこの世界にも似たような人がいるものですね~。

easy_install --help

とするといろいろ説明が出てきます。-fは勝手に探してくれと指示するオプションですか。-Uは強制アップグレードらしいですね。ふむふむ、PyPI(Python Package Index: Python Cheese Shop)で最新版を探してインストールする、と。なるほどJZIでよく見かけるちーずしょっぷというのはこのリポジトリのことだったというわけですか。「強制(force)」という言葉にややひっかかるものの、まぁ、最新版をいじるのは嫌いじゃないからいいか、ということで準備はできましたー。

Turbogearsに関する理解を深める

深まるかどうかはわからないけど、Turbogearsについてもう少し理解しないと何もできなそうです。とりあえずよく耳にする言葉であるMVCについて考えてみます。

MVCというのはModel, View, Controllerの頭文字らしく、Turbogearsではこれらの担当者が次のように決まっているようです。

  • Model: SQLObject
  • View: Kid
  • Controller: CherryPy

MVCを分離してプログラミングしてやると何だかイイ感じに開発できるようなので、このように担当者が決まっていてそれぞれが力を合わせるらしいです。

とはいえ悲しいかな、私の頭で直感的に理解できるのはViewを担当するKidだけです。Kidはテンプレート言語。テンプレートといえばZPTです。ZPTはPloneをいじくる際によく見かけていますので「そういうものか」というふうに理解できます。しかし他の二者はちょっとわかりづらいです。

Modelを担当しているSQLObjectは、ORマッパーというものらしいです。SQLObjectについての簡単な説明自分で訳してみたやつを読み返してみると、どうやらPython的な文法でデータベースをいじくるもののようですね。データベースにデータを保存したり、変更したり、削除したり。そういうことを担当しているようです。本来ならSQLを書いて操作するような部分を、Pythonオブジェクトを操作するような感じで書けてしまうのがどれだけすごいのか、(プログラミングなんてしたことがないので当たり前ですが)あんまり実感できないのですが、柴田さん大谷さんがほめまくってるのを見るときっとすごいんだなと予想できます。

Controllerを担当しているCherryPyについての簡単な説明自分で訳してみたやつを読み返してみると、やたらとメソッドという言葉を連呼していることに気づきます。私の頭の中ではメソッドというのは関数のことだというふうに記憶されています。関数というのは機能を決めるものだから、きっとControllerであるところのCherryPyも機能を決めているのでしょう。機能というのはデータというか値というかそういうものを足し算したり引き算したり掛け算したりすることだと思うので、きっとCherryPyもそんなふうにデータを料理する人なのでしょう。

ということで初心者ならではの大胆予想をすると

 Model: SQLObject
データベース担当。バックエンドのデータベースにデータを保存したり操作してくれる人。
 View: Kid
(x)html担当。データをWebインターフェイス(ブラウザ)に表示してくれる人。
 Controller: CherryPy
 計算担当。ブラウザとかデータベースとかからやってきたデータを加工してくれる人。
みたいな感じかなぁ。

そろそろ眠いので寝なきゃと思うんだけど、結局今日はTurbogearsのアップグレードしかしてないという…。

TurboGearsをWindowsにインストールする TurboGearsをWindowsにインストールする
サイズ 2.2 kB - File type text/html
TurboGears: CherryPy Web Controller TurboGears: CherryPy Web Controller
サイズ 1.4 kB - File type text/html
TurboGears: SQLObject Database Mapping Library TurboGears: SQLObject Database Mapping Library
サイズ 3.2 kB - File type text/html
TurboGears: Kid Template System TurboGears: Kid Template System
サイズ 2.9 kB - File type text/html
カテゴリ
Turbogears Turbogears
トラックバック用URL:
http://nagosui.org:8080/Nagosui/COREBlog2/learning-turbogears/tbping
コメントを追加

下のフォームに記入してコメントを追加できます。平文テキスト形式。

(必須)
(必須)
(必須)
(Required)
Enter the word

このBlogについて
Plone, Zope, Pythonなどのトピックについてのメモです。
カテゴリ
Plone (98)
Plone Products (23)
COREBlog2 (31)
COREBlog1 (29)
ReadingCOREBlog (7)
Zope (66)
Turbogears (18)
Django (12)
Python (25)
Linux (30)
Nagosui (12)
Design (33)
Misc (48)
moblog (5)
最近のエントリ
浜松ブラスバンド定期演奏会2008 nyusuke 2008年11月24日
Glossy Horizontal Menuを使う nyusuke 2008年11月17日
第3回Python東海終了 nyusuke 2008年11月17日
Universalじゃない件 nyusuke 2008年11月15日
最近のコメント
Re:WebデザイナーのためのDjangoはじめの一歩 nyusuke 2007年06月01日
Re:WebデザイナーのためのDjangoはじめの一歩 pateo 2007年05月31日
Re:東海Python Workshop 01終了 nyusuke 2007年05月31日
Re:東海Python Workshop 01終了 kfuruhata 2007年05月30日