Google App Engine: шаблоны и статика (css, js, картинки)

    В предыдущем посте было рассказано, как создать простейший проект на GAE + Django. Сейчас давайте попробуем подключить к проекту шаблоны Django и поддержку статических файлов — таблиц стилей, скриптов и картинок.

    Наш Django проект будет называтся dvk, и содержать приложение main. В папке приложения создаем каталог для шаблонов templates:
    dvk/
    main.py
    app.yaml
        dvk/
        manage.py
        settings.py
        urls.py
          main/
          __init__.py
          models.py
          views.py
            templates/



    Чтобы среда исполнения смогла найти файлы шаблонов, нужно прописать путь к папке шаблонов в файле настроек проекта settings.py.
    import os
    ROOT_PATH = os.path.dirname(__file__)

    TEMPLATE_DIRS = (
      ROOT_PATH + "/main/templates",
    )


    Теперь можно создать файл шаблона main.html в папке шаблонов. Наш шаблон не будет делать ничего сверх полезного :) Просто скажем браузеру «Hello world!»
    Hello world!


    Для вывода страницы создадим процедуру-контроллер в файле views.py и привяжем её к обработке запроса главной страницы сайта в urls.py
    #dvk/dvk/main/views.py
    from django.shortcuts import render_to_response

    def index(request):
      return render_to_response(«main.html»)


    #dvk/dvk/urls.py
    from django.conf.urls.defaults import *
    urlpatterns = patterns("",
      (r"^$", «dvk.main.views.index»),
    )


    Теперь можно протестировать наше приложение — dev_appserver.py dvk
    Откройте браузер с адресом 127.0.0.1:8080/ и у вас отобразится «Hello world!» :-)

    Чтобы Google App Engine обрабатывал статические файлы, нужно в файле настроек GAE приложения включить в секцию handlers параметр static_dir:
    application: dvk
    version: 1
    runtime: python
    api_version: 1



    handlers:
    — url: /static
    static_dir: static

    ...


    Параметр url указывает, по какому адресу будут доступны файлы, а значение параметра static_dir — имя и расположение папки. В нашем примере она располагается в корне проекта и имеет имя static. Теперь в шаблонах можно обращаться к статическим файлам, например для загрузки таблицы стилей:
    link href="/static/main.css" type=«text/css» rel=«stylesheet»
    или рисунка
    img src="/static/logo.gif"

    Использованные материалы:
    Django on Google App Engine: Templates and static files
    Google App Engine — Configuring an App

    Кросс-пост с моего блога
    • +22
    • 2,5k
    • 1
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 1
    • +1
      всё настолько понятно описано, что даже комментарии излишни,
      одно слово - спасибо!

      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.