Избранное | Русский | Войти

Использование статических файлов

В отличие от обычной среды веб-хостинга, Google App Engine не обрабатывает файлы из исходного каталога вашего приложения при отсутствии соответствующей настройки. Мы назвали файл шаблона index.html, но от этого он не становится автоматически доступным по URL /index.html.

Во многих случаях статические файлы нужно выводить прямо в браузер. Изображения, таблицы CSS-стилей, код JavaScript, фильмы и Flash-анимации обычно хранятся вместе с веб-приложением и выводятся прямо в браузер. App Engine может обрабатывать статические файлы напрямую, и вам не придется писать собственный обработчик.

Использование статических файлов

Откройте файл helloworld/app.yaml и замените его содержание следующим:

application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
- url: /stylesheets
  static_dir: stylesheets

- url: /.*
  script: helloworld.py

Новый раздел handlers определяет два обработчика URL-адресов. Если App Engine получает запрос с URL-адреса, который начинается с /stylesheets, то сопоставляет остальной путь с файлами в каталоге stylesheets, а при обнаружении подходящего файла возвращает его содержание клиенту. Все остальные URL соответствуют пути / и обрабатываются сценарием helloworld.py.

По умолчанию App Engine обрабатывает статические файлы с помощью MIME-типа в зависимости от расширения названия файла. Например, если название файла заканчивается на .css, он будет обработан как файл с MIME-типом text/css. MIME-тип можно указать явно с помощью дополнительных параметров.

Схемы путей обработчика URL проверяются в порядке их записи в app.yaml (сверху вниз). В данном случае схема /stylesheets будет сопоставляться на наличие подходящих путей раньше схемы /.*. Подробнее о сопоставлении URL и других параметрах, которые можно указывать в файле app.yaml, рассказано в справочном руководстве по app.yaml.

Создайте каталог helloworld/stylesheets. В этом каталоге создайте файл main.css следующего содержания:

body {
  font-family: Verdana, Helvetica, sans-serif;
  background-color: #DDDDDD;
}

Наконец, откройте helloworld/index.html и вставьте следующие строки сразу после строки <html> наверху:

  <head>
    <link type="text/css" rel="stylesheet" href="/stylesheets/main.css" />
  </head>

Обновите страницу в браузере. Новая версия будет использовать таблицу стилей.

Далее...

Пришло время показать готовое приложение всему миру.

Переходите к разделу Загрузка приложения.