はじめてのPython フレームワーク
webapp2 は google app engine のフレームワークです。
他にも Django や CherryPy、Pylonsなどが使えますが、webapp2 は Google App Engineの
環境を作成するときにインストールされるので、すぐ使えます。
webapp2
* RequestHandlerクラス:リクエスを処理してレスポンスを生成
* WEGIアプリケーションインスタンス:受信リクエストをURLに基づきハンドラに割り振る
# もっとも単純な例
以下がもっとも単純な例です。
RequestHandlerを継承したクラスのgetメソッドを作成すると、self.requestを通してリクエスト情報を取得出来ます。
通常は、self.response にプロパティを設定して終了します。
webapp2.WSGIApplication インスタンスがアプリケーションです。
debug=trueで、ハンドラにエラーが発生したり、キャッチされない例外が発生した場合にブラウザに出力します。
# ユーザ認証
以下の例は、ユーザのログイン認証機能を追加したものです。
users.get_current_user() で サインイン済みなら Userオブジェクトが、違う場合は None を得られます。
# フォーム
以下がフォームを使った例です。
また、webapp2のimportをyamlファイルに移動しています。
この例にはハンドラが2つ出てきます。
MainPageとGuestbookです。それぞれURL、/ と /sign に対応しています。
Guestbookではpostのみが定義されています。
cgi.escape()は、HTMLの特殊文字をエスケープします。ユーザに入力された文字が、HTMLとして動作するのを防いでいます。
cgiはPythonの標準ライブラリです。
○cgiドキュメント
https://docs.python.org/release/2.7.2/library/cgi.html
今日はここまで、次はDatastoreにデータを永続化してみます。
0 件のコメント:
コメントを投稿