Приложение Django На Google App Engine

Наверное, только ленивый не слышал о Google App Engine. Использование фреймворка Django совместно с GAE дает разработчику удобные инструменты для быстрого создания веб-приложений.

Из этого туториала вы узнаете, как создать простое приложение Django с использованием этой платформы.

Предполагается, что у вас уже есть учетная запись на Google App Engine .

1. Сначала вам необходимо зарегистрировать имя приложения в GAE и установить его на свой Инструментарий .

Google App Engine работает только с Python 2.5 (2.5.1, 2.5.2).

2. Создайте папку для своего приложения.

Имя и место не имеют значения.

Моя папка называется " двк ".

3. В папке вашего приложения создайте файл main.py.

импортировать ОС, sys os.environ["DJANGO_SETTINGS_MODULE"] = "dvk.settings" ROOT_PATH = os.path.dirname(__file__) sys.path.append(ROOT_PATH) # Импорт Google App Engine. из утилиты импорта google.appengine.ext.webapp # Заставить Django перезагрузить настройки.

из настроек импорта django.conf settings._target = Нет импортировать django.core.handlers.wsgi импортировать django.core.signals импортировать django.db импортировать django.dispatch.dispatcher # Отмените регистрацию обработчика событий отката.

django.dispatch.dispatcher.disconnect( django.db._rollback_on_Exception, django.core.signals.got_request_Exception) защита основной(): # Создайте приложение Django для WSGI. приложение = django.core.handlers.wsgi.WSGIHandler() # Запустите обработчик WSGI CGI с этим приложением.

util.run_wsgi_app(приложение) если __name__ == "__main__": основной()

Этот файл выполняется, когда пользователь открывает страницу вашего веб-приложения в браузере.

4. Создайте файл app.yaml.

применение: ДВК версия: 1 время выполнения: питон API_версия: 1 обработчики: - URL: /статический static_dir: статический — URL: /.

* сценарий: main.py

Естественно, подставьте название приложения по своему вкусу :) 5. В папке приложения выполните команду для создания нового проекта Django:
django-admin.py startproject dvk
Небольшое примечание: Всего у нас будет 2 папки проекта — папка проекта GAE и папка проекта Django внутри нее.

Внешний проект действует как оболочка.

двк/ main.py app.yaml двк/ менеджер.

py settings.py urls.py

В файле настроек проекта Django settings.py необходимо удалить все, что связано с настройками базы данных, административной панелью, аутентификацией и сеансами.

Google App Engine не поддерживает модели Django, поэтому эти модули не будут работать.

6. Теперь мы можем протестировать наше приложение GAE+Django.

CD. dev_appserver.py dvk INFO 08-04-2008, 19:08:10,023 appcfg.py] Проверка обновлений SDK. INFO 08-04-2008, 19:08:10,384 appcfg.py] SDK обновлен.

INFO 2008-04-08 19:08:10,404 dev_appserver_main.py] Запуск приложения dvk на порту 8080: локальный хост :8080

Откройте браузер с адресом 127.0.0.1 :8080/ и вы увидите стандартную страницу Django с сообщением.

Это сработало! 7. Создайте приложение Django в папке проекта Django.

startapp main.manage.py
8. Теперь пришло время добавить модель данных.

Мы создадим простой класс Visitor, который будет хранить информацию обо всех посетителях сайта.

#.

/dvk/dvk/main/models.py из базы данных импорта google.appengine.ext Посетитель класса (db.Model): ip = db.StringProperty() add_on = db.DateTimeProperty(auto_now_add=True)

При добавлении или изменении моделей в Google App Engine нет необходимости синхронизироваться с базой данных.

Это делается автоматически.

9. Теперь давайте создадим процедуру-контроллер.

Он запишет параметры посетителей нашей веб-страницы в базу данных и отобразит список всех посетителей.

#.

/dvk/dvk/main/views.py из django.http импортировать HttpResponse из dvk.main.models импорт посетителя защита основного (запрос): посетитель = Посетитель() посетитель.

ip = request.META["REMOTE_ADDR"] посетитель.

пут() результат = "" посетители = Посетитель.

все() посетители.

order("-added_on") для посетителя в посетителях: result += visitor.ip + u" посетил " + unicode(visitor.added_on) + u"" вернуть HttpResponse (результат)

10. В файле URL-менеджера указываем, что наша процедура отвечает за обработку запроса к главной странице сайта.

#.

/dvk/dvk/main/urls.py из импорта django.conf.urls.defaults * urlpatterns = шаблоны("", (r"^$", "mashname.main.views.main"), )

11. Проверьте свое приложение, открыв окно браузера по адресу 127.0.0.1 :8080/.

При каждом обновлении веб-страницы будет добавляться новая строка и, соответственно, в базу данных будет записываться новый объект «Посетитель».

GAE также автоматически создает панель администратора приложения — 127.0.0.1 :8080/_ah/admin/ 12. Теперь мы можем загрузить наше приложение в GAE: appcfg.py update dvk. При первом выполнении команда попросит вас войти в систему.

Использованные материалы: Запуск Django в Google App Engine Django в Google App Engine за 13 простых шагов Перекрестное сообщение с моего блог Теги: #Google #app #engine #django #django

Вместе с данным постом часто просматривают: