先のエントリの続き。
- Hello, webapp!の節に従って、hellowordl.pyを編集し、ブラウザで動作を確認する。
- 「What webapp Does」節にこの処理の内容が詳しく解説されている。
- webappモジュールはgoogle.appengine.extパッケージ内に存在していて、これが実行環境でも提供される
- このコードではリクエストハンドラを定義していて、「MainApp」を「URL(/)」に対応させている。webappがRootUrl「/」へのGETリクエストを受けた時にMainAppを作成してgetメソッドを実行する。
- 「self.request」でリクエストに関する情報を利用できる。
- 「self.response」にあれこれすればレスポンスに関してあれこれできる。
一部「if __name__ == "__main__"」とか意味がわからなかった。ちょろっと調べてみると、pythonのモジュールの最後によく書かれてたりしてた。python的に何かする時のお約束っぽい事か?となんとなく考えて無視する! - 試しに「self.response.out.write(self.request.get('param1'))」とかをソースに追加して、「http://localhost:8080/?param1=aaa」とかやってみると、パラメータもちゃんと利用できるのを確認できた。
tutorialの該当ページを見てみると、便利サービスがたくさんあって、UserServiceはそのひとつですよん、とか書いてある。たぶん、標準でUser管理の機能があるんだろぅ。
- 例のごとく、helloworld.pyを「Using Users」の節にあるとおり編集して、例のごとく動作を確認する。
- 作り込んだ覚えの無いログイン画面が表示されて、ログインしてみると「Hello, ユーザ名」とか表示される。すげぇー。
- ちなみに、ログインした後はログアウトできない。別のtabからならどーよ?と思ったけど、別のtabからでもログイン済みの状態となった。Session管理のScopeが気になるが、今はあんまり関係ないし気にしない。
- 「The Users API」節にこのコードの説明が書かれている。
- get_current_user()メソッドは、UserがLogin済みならUserObjectを、Loginしていない状態なら"None"を返す。
- 「self.redirect()」でリダイレクトができる。UsersAPIの
「create_login_url()」は「Google account sign-in」機能を表示し、ログイン後に引数に渡したurlに戻ってくる。
- リクエストされたurlは「self.request.uri」で取得できる。
- それ以外のUsers APIについてはhttp://code.google.com/appengine/docs/users/を見ろ。
- ちなみに、Users APIの詳細をのぞいてみたが、logoutは「google.appengine.api.users」パッケージの「create_logout_url()」にlogout後のurlを渡す事でできそぅだ。
0 件のコメント:
コメントを投稿