静的ファイルの提供


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

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

静的ファイルを使用するようにアプリを構成する

ゲストブック アプリの CSS ファイルは bootstrap/css ディレクトリにあります。アプリのウェブページのテンプレート index.html は、静的ファイルの bootstrap.cssbootstrap-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 つのハンドラを定義します。App Engine が /bootstrap で始まる URL のリクエストを受け取ると、bootstrap ディレクトリのファイルのパスの残りの部分がマッピングされます。該当するファイルが見つかると、そのファイルの内容がクライアントに返されます。他のすべての URL は /.* パターンに一致し、guestbook モジュール内の app オブジェクトによって処理されます。

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