libro
www.tuyano.com
PythonによるGoogle App Engine(GAE)プログラミング入門

プロジェクトを作ろう! (7/10)

作成:2009-12-28 16:12
更新:2010-05-10 21:05

■アドレスと呼び出されるクラス(メソッド)の関係

このプログラムでは、main関数がまず呼び出され処理されています。このmain関数では、run_wsgi_app(application) という処理が呼び出されています。この「run_wsgi_app」は、引数に渡されたオブジェクトをもとに、Webアプリケーションのための処理を実行させるものです。

ここではapplicationというオブジェクトが渡されていますが、これはその直前で作成されていますね。この部分です。
application = webapp.WSGIApplication([('/', MainPage)], debug=True)
webapp.WSGIApplicationというのは、webappフレームワークのWebアプリケーションのためのクラスです。ここで作成されたアプリケーションクラスのインスタンスをrun_wsgi_appで実行していたのですね。

このWSGIApplicationクラスは、インスタンスを作成する際、第1引数に[('/', MainPage)]という値を指定しています。この[]というのは、Pythonの配列であり、その中の()はタプルと呼ばれる、配列と同じように複数の値を管理するものです。このWSGIApplicationでは、引数に「アクセスするURLと、それに割り付けられるクラス」の情報をまとめて渡すようになっています。

ここでは、('/', MainPage)という値がありますね。これは'/'にアクセスされたら、MainPageがその処理を行う、ということを意味します。このように、アクセス先ごとにクラスを定義し、その関連を配列にまとめておくことで、「どこにアクセスされたらどのクラスが処理する」ということを指定するようになっているのです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

application = webapp.WSGIApplication([('/', MainPage)], debug=True)

def main():
    run_wsgi_app(application)
※関連コンテンツ

「PythonによるGoogle App Engine(GAE)プログラミング入門」に戻る