Statische Dateien bereitstellen

In diesem Teil der Anleitung zum Python-Gästebuch-Code erfahren Sie mehr über die Bereitstellung statischer Dateien. App Engine stellt Dateien nicht direkt aus dem Quellverzeichnis Ihrer Anwendung bereit, es sei denn, dies wurde so konfiguriert. Es gibt dennoch viele Fälle, in denen statische Dateien direkt im Webbrowser bereitgestellt werden sollen. Bilder, CSS-Dateien (Cascading Style Sheets), JavaScript-Code, Filme und Flash-Animationen werden in der Regel mit einer Webanwendung gespeichert und direkt im Browser bereitgestellt.

Diese Seite ist Teil einer mehrseitigen Anleitung. Wenn Sie die Anleitung von Anfang an durchgehen und eine Anleitung zur Einrichtung erhalten möchten, rufen Sie Gästebuchanwendungen erstellen auf.

Anwendungen für die Verwendung statischer Dateien konfigurieren

Die CSS-Dateien für die Gästebuch-Anwendung befinden sich im bootstrap/css-Verzeichnis. Die Vorlage für die Webseite der Anwendung, index.html, weist den Browser an, bootstrap.css und bootstrap-responsive.css zu laden, bei denen es sich um statische Dateien handelt:

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

Die app.yaml-Datei legt das bootstrap-Verzeichnis als Speicherort für statische Dateien fest:

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

- url: /bootstrap
  static_dir: bootstrap

- url: /.*
  script: guestbook.app

Im Abschnitt handlers werden zwei Handler für URLs definiert. Wenn App Engine einen Request für eine URL empfängt, die mit /bootstrap beginnt, wird der Rest des Pfads den Dateien im bootstrap-Verzeichnis zugeordnet. Wird eine entsprechende Datei gefunden, wird der Inhalt der Datei an den Client zurückgegeben. Alle anderen URLs entsprechen dem Muster /.* und werden vom app-Objekt im guestbook-Modul verarbeitet.

URL-Pfadmuster werden in der Reihenfolge getestet, in der sie in app.yaml angezeigt werden. In diesem Fall hat für die entsprechenden Pfade die Übereinstimmung des /bootstrap-Musters Vorrang vor der Übereinstimmung des /.*-Musters. Weitere Informationen zu URL-Zuordnungen und anderen Optionen, die Sie in app.yaml festlegen können, finden Sie in der Referenz zu app.yaml.