はじめに
前回は, WSGIアプリケーションを動作させるためのプラットフォームとして,Google App Engine(GAE)を紹介しました。今回は,Webアプリケーションを作る上で役に立つ,WSGIが利用可能なWebアプリケーションフレームワークを紹介します。
Webアプリケーションフレームワークとは
アプリケーションフレームワークとは,簡単に言ってしまえば便利なライブラリの集まりです。ライブラリと違うのは,単に機能を提供するだけでなく,アプリケーションの組み立て方,ファイルの配置など,ライブラリとしての機能以上の概念を伴うことです。これは,アプリケーションの組み立て方を明確にすることでアプリケーションの作成を簡単にする,プログラマが道に迷わないようにする,という意味があります。
ひと口にWebアプリケーションフレームワークと言っても,Pythonに限定してもTurboGears,Pylonsなどさまざまなものがあります。今回はその中のさまざまなフレームワークの内,前回のまとめで挙げたDjangoを使用します。
Django
Djangoは,データベースを利用するWebアプリケーションを簡単に作るためのフレームワークです。DRY(Don't Repeat Yourself:同じことを繰り返さない)の原則があり,コンポーネントの再利用性,機能追加の容易さ,素早い開発などの特徴があります。
Djangoは,O/Rマッパ,URLディスパッチャ,テンプレートシステムなどの機能からなります。それ以外に,Django上で動作するコンポーネントとして,データベースエントリの管理インターフェースや,コンテンツのキャッシュ機能などを持っています。
図1 ログイン画面
※指定画像がありません※
図2 Djangoのデータベース管理画面
※指定画像がありません※
また,DjangoはGoogle App Engine でサポートされていて,SDKにもDjangoが同梱されています。GAEで利用する際には,ヘルパパッケージが存在するので,それを利用するとGAEでDjangoを容易に利用できます。
DjangoとGAEとの連携には,WSGIが使われています。これは,Django自体がWSGIアプリケーションとして動作可能なためです。
Djangoのインストール
Djangoのダウンロードページから,Django-1.0.tar.gzをダウンロードして展開します。
展開したディレクトリで
図3
$ python setup.py install
とセットアップスクリプトを実行するとインストールされます。インストールには管理者権限が必要です。
サンプルデータ
今回のサンプルデータは,django_sample.zip(ZIPで圧縮してあります)にあります。内容は前回と同様のMessageBoardアプリケーションをDjangoを使用して再実装したものです。ダウンロードして,適当なディレクトリに展開してください。
サンプルを展開したディレクトリに移動し,以下のコマンドを実行します。
図4
$ ./manage.py syncdb
これで,Djangoで使用するデータベースが初期化されます。実行中に,サイトの管理者名・メールアドレス・パスワードを聞かれるので,適当に設定してください。
そして,
図5
$ ./manage.py runserver
を実行すると,サーバが立ち上がります。
その後,http://localhost:8000/にアクセスすると,MessageBoardの画面が現れます。

