Python 2 は、コミュニティによるサポートを終了しました。Python 2 アプリを Python 3 に移行することをおすすめします。

静的ファイルの提供

Python Guestbook コード チュートリアルのこのパートでは、静的ファイルを提供する仕組みについて解説します。App Engine は、そのように構成されていない限り、アプリケーションのソース ディレクトリからファイルを直接提供することはありません。しかし、ウェブブラウザに静的ファイルを直接提供することが必要となる場合も多くあります。画像、CSS スタイルシート、JavaScript コード、動画、Flash アニメーションなどはすべて、通常はウェブ アプリケーションとともに保存され、ブラウザに直接提供されます。

このページは複数ページからなるチュートリアルの一部です。設定の手順を最初から確認する場合はゲストブックの作成に移動してください。

静的ファイルを使用するようにアプリケーションを構成する

ゲストブック アプリの CSS ファイルは bootstrap/css ディレクトリにあります。 アプリのウェブページのテンプレート index.html は、静的ファイル bootstrap.css および bootstrap-responsive.css を読み込むようブラウザに指示します。

<link type="text/css" rel="stylesheet" href="/bootstrap/css/bootstrap.css">
<link type="text/css" rel="stylesheet" href="/bootstrap/css/bootstrap-responsive.css">

次のように、app.yaml ファイルは静的ファイルの場所として bootstrap ディレクトリを指定します。

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

- url: /bootstrap
  static_dir: bootstrap

- url: /.*
  script: guestbook.app

上記の例の handlers セクションには、URL に対して 2 つのハンドラが定義されています。/bootstrap で始まる URL のリクエストを App Engine が受け取ると、bootstrap ディレクトリにあるファイルへのパスの残りの部分がマッピングされます。適切なファイルが見つかると、そのファイルのコンテンツがクライアントに返されます。他のすべての URL は /.* パターンに一致し、guestbook モジュール内の app オブジェクトによって処理されます。

URL パスのパターンは app.yaml 内での出現順でテストされます。この場合、/bootstrap パターンを照合してから、/.* パターンの照合を行い、適切なパスを識別します。URL マッピングや app.yaml で指定できるその他のオプションの詳細については、app.yaml リファレンスをご覧ください。