注: このフレームワークを使用できるのは Python 2.7 のユーザーのみです。
ウェブ アプリケーション フレームワークでインターフェースの細部を処理すると、アプリケーションの機能の開発に労力を集中させることができ、開発の簡略化につながります。App Engine には、webapp2 と呼ばれるシンプルなウェブ アプリケーション フレームワークが含まれています。これは軽量のフレームワークで、Python 2.7 ランタイム向けに単純なウェブ アプリケーションをすばやく構築できます。
webapp2 は、Python ウェブ アプリケーションの WSGI 標準と互換性があります。webapp2 を使用しなくても、App Engine 用 Python アプリケーションの作成は可能です。その他のウェブ アプリケーション フレームワーク(Django など)も App Engine で動作します。App Engine では、CGI 標準を使用するあらゆる Python コードをサポートしています。Rodrigo Moraes による webapp2 プロジェクトは、Python 2.5 ランタイムで使用される App Engine webapp フレームワークから分岐したものとして開始しました。webapp2 には、ウェブ アプリケーションを簡単に開発できるようにするための機能が多数あります。たとえば、URI ルーティング、セッションの管理、ローカライズなどのサポートが改善されています。Python 2.7 ランタイムでは webapp2 を使用し、プロジェクトは App Engine の外部で保持されます。Google では、webapp2 をサポートしていますが、維持管理は行いません。
webapp2 の詳細については、公式のドキュメントをご覧ください。
Python 2.7 での webapp2 フレームワークの使用
Python 2.7 アプリケーションは、WSGI または CGI のいずれかを使用してリクエストを処理できますが、通常は WSGI をおすすめします。
Blobstore ハンドラと Mail ハンドラ
webapp2 は外部ライブラリであるため、App Engine 固有のサービスは提供しません。Python 2.7 アプリでは、webapp バージョンの BlobstoreUploadHandler
と BlobstoreDownloadHandler
を使用する必要があります。詳細については、webapp Blobstore ハンドラをご覧ください。