webappフレームワーク

それだけじゃつまんないので、もう少し進んでwebappフレームワークの実験。

app.yaml

application: main
version: 1
runtime: python
api_version: 1
handlers:
- url: /.*
script: main.py

main.py

import wsgiref.handlers
from google.appengine.ext import webapp
class RootPage(webapp.RequestHandler):
def get(self):
self.response.out.write('''
			Now->RootPage<br />
			<a href="./page1">Page1</a><br />
			<a href="./page2">Page2</a><br />
		''')
class Page1(webapp.RequestHandler):
def get(self):
self.response.out.write('''
			<a href="./">RootPage</a><br />
			Now->Page1<br />
			<a href="./page2">Page2</a><br />
		''')
class Page2(webapp.RequestHandler):
def get(self):
self.response.out.write('''
			<a href="./">RootPage</a><br />
			<a href="./page1">Page1</a><br />
			Now->Page2<br />
		''')
def main():
application = webapp.WSGIApplication([
('/', RootPage),
('/page1', Page1),
('/page2', Page2)
], debug=True)
wsgiref.handlers.CGIHandler().run(application)
if __name__ == "__main__":
main()

実行すると、画面にリンクが3つ表示されます。

それぞれのリンクをクリックすると画面が切り替わります。

webapp.WSGIApplicationのパラメータとしてパス名と関数名を渡すとその動作をしてくれるのでその辺は他の言語より楽だなー。

ただ、app.yamlの書式をもうちょっと調べれば、ファイルの分割も含めてわかりやすくなるはず。

広告

About sato_c

小学生の頃にインベーダーゲームやPC-8001やApple][といったものを知ってしまい、それ以降ずーっとゲーム好き。でも、あんまりうまくはありません。 仕事は当初はゲーム関係のプログラムやサウンドをやっていましたが、WEB関係を通ったあと、遊技機関係のプログラムやサウンドをやっています。あまり節操がないのか。 現在はJavaですてきなコードを書けるように勉強中。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。