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
からフォームデータを取得します。