[GAE] 初期状態を触ってみる – ハンドラ追加

前回、初期状態のGAEアプリケーションを眺めてみました。今回は、初期状態に手を加えて見ようと思います。

初期状態では、http://[domain]/ へのアクセス、つまりルートへのアクセス時のみ Hello world! を表示するようになっていました。
今回は、http://[domain]/ja へアクセスしたら “こんにちは!” と表示するようにハンドラを追加してみます。

初期状態で MainHandler というクラスがあるので、その中身全てまるまるその下にコピーします。そしてクラス名を MainJAHandler に変更します。

class MainHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write('Hello world!')


class MainJSHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write('Hello world!')

これでハンドラの追加が出来ました。しかしこれでは、 Hello world! と出力されますので、 'Hello world!' の部分を u'こんにちは!' に変更します。これだけで “こんにちは!” と出力するハンドラが完成しました。

次に、ソースコードに日本語(マルチバイト)が追加されたので、文字コーディングを指定してあげないといけません。

# coding: utf-8

上記の一行を main.py の2行目付近に追加してください。

最後にルーティングを追加します。現状のままでは、 “/” (ルート)へアクセスが合った場合 MainHandler に処理が送られるようにしかなっていません。なのでそこに “/ja” へアクセスがあった場合、MainJAHandler を使用するように指定してあげます。
webapp2 の WSGIApplication へ新たなルーティングを追加します。

('/', MainHandler)の次に , ('/ja', MainJAHandler) を追加します。

これで、全ての作業が終了です。出来上がったコードは以下になります。

#!/usr/bin/env python
# coding: utf-8

import webapp2


class MainHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write('Hello world!')


class MainJAHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write(u'こんにちは!')


app = webapp2.WSGIApplication([
    ('/', MainHandler), ('/ja', MainJAHandler)
], debug=True)

あとは、Google App Engine Launcher で起動して / と /ja にアクセスしてそれぞれ Hello world! , こんにちは! と表示されていると完成です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です