WSGIとPythonでスマートなWebアプリケーション開発を

第5回 WSGIで利用可能なWebアプリケーションフレームワーク

この記事を読むのに必要な時間:およそ 4 分

はじめに

前回は, WSGIアプリケーションを動作させるためのプラットフォームとして,Google App Engine(GAE)を紹介しました。今回は,Webアプリケーションを作る上で役に立つ,WSGIが利用可能なWebアプリケーションフレームワークを紹介します。

Webアプリケーションフレームワークとは

アプリケーションフレームワークとは,簡単に言ってしまえば便利なライブラリの集まりです。ライブラリと違うのは,単に機能を提供するだけでなく,アプリケーションの組み立て方,ファイルの配置など,ライブラリとしての機能以上の概念を伴うことです。これは,アプリケーションの組み立て方を明確にすることでアプリケーションの作成を簡単にする,プログラマが道に迷わないようにする,という意味があります。

ひと口にWebアプリケーションフレームワークと言っても,Pythonに限定してもTurboGears,Pylonsなどさまざまなものがあります。今回はその中のさまざまなフレームワークの内,前回のまとめで挙げたDjangoを使用します。

Django

Djangoは,データベースを利用するWebアプリケーションを簡単に作るためのフレームワークです。DRYDon't Repeat Yourself:同じことを繰り返さない)の原則があり,コンポーネントの再利用性,機能追加の容易さ,素早い開発などの特徴があります。

Djangoは,O/Rマッパ,URLディスパッチャ,テンプレートシステムなどの機能からなります。それ以外に,Django上で動作するコンポーネントとして,データベースエントリの管理インターフェースや,コンテンツのキャッシュ機能などを持っています。

図1 ログイン画面

図1 ログイン画面

図2 Djangoのデータベース管理画面

図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の画面が現れます。

著者プロフィール

保坂翔馬(ほさか しょうま)

CGプロダクションでプログラマとしてPloneで作成した社内情報共有ポータルの開発・管理,3Dモデリングソフトのツール・プラグイン開発,システム管理用補助ツール作成など幅広く仕事をしている。主たる業務はPloneポータルの開発。

仲間内ではプログラム言語オタクで通っており,好きな言語はPython, Haskell。

Twitter:@shomah4a