Python ゲストブック コード チュートリアルのこの部分では、ユーザー入力の処理方法を説明します。
このページは複数ページからなるチュートリアルの一部です。設定などの手順を最初から見るには、ゲストブックの作成に移動してください。
webapp2 を使用するようにアプリを構成する
ゲストブックのサンプルでは、webapp2 フレームワークを使用します。このフレームワークは、App Engine 環境と App Engine Python SDK に含まれています。webapp2 は、アプリケーション コードにバンドルしなくても使用できます。
app.yaml
ファイルでは、アプリが webapp2
フレームワークを使用することを指定します。
webapp2 アプリケーションは 2 つの部分で構成されています。
- 1 つ以上の
RequestHandler
クラス。リクエストを処理し、レスポンスを構築します。 WSGIApplication
インスタンス。受信リクエストを URL に基づいてハンドラに転送します。
app.yaml
ファイルでは、すべての URL のハンドラとして guestbook.py
に app
オブジェクトを指定します。
フォーム送信のハンドラを定義する
guestbook.py
の app
オブジェクトは、特定の URL のリクエストを処理するスクリプトが定義された WSGIApplication
です。
debug=True
パラメータにより、ハンドラがエラーを検出するか予期しない例外が発生した場合に、webapp2
がスタック トレースをブラウザに出力します。このオプションは、アプリケーションの最終バージョンをデプロイする前に削除する必要があります。削除しないと、アプリケーションの内部が外部に公開されてしまいます。
Guestbook
ハンドラのメソッドは、get()
ではなく post()
メソッドです。MainPage
が表示するフォームは、フォームデータの送信に HTTP POST
メソッドを使用するためです。
post()
メソッドは、self.request
からフォームデータを取得します。