Django в Google App Engine - PullRequest
       30

Django в Google App Engine

19 голосов
/ 18 июня 2009

Насколько сложно запускать приложение Django в App Engine? Кроме того, Datastore работает с Django как есть?

Ответы [ 7 ]

13 голосов
/ 18 июня 2009

Я потратил некоторое время, пытаясь ответить на тот же вопрос ... мне кажется, что самое трудное для перехода на GAE - это модели Джанго ... в том смысле, что они требуют различных модификаций и переосмысление, главным образом потому, что бэкэнд GAE - это не стандартная реляционная БД, а Google BigTable . Я нашел хорошее вступление к этому здесь:

http://www.youtube.com/watch?v=rRCx9e38yr8

В любом случае, стоит загрузить один из этих «патчей» и попробовать его!

Для меня лучшим решением является ' app-engine-patch '. Я скачал пример проекта, и он сразу заработал! (Имейте в виду, что вам нужно установить SDK GAE отдельно) Для меня особенность убийства заключается в том, что django-admin и многие другие классические функциональные возможности django также перенесены !!!

http://code.google.com/p/app-engine-patch/

Документация все еще довольно минимальна, на мой взгляд, но достаточно хороша, чтобы вы начали. Это поможет вам просмотреть официальные документы GAE!

12 голосов
/ 21 июня 2009

Просто Вчера (в зависимости от вашего часового пояса) Google выпустила новый SDK для Python на Appengine, который поддерживает django 1.0 из коробки.

6 голосов
/ 24 февраля 2012

Вам необходимо использовать django-nonrel ( source ).

Вы все еще найдете множество вопросов:

  • Many2Many отношения не поддерживаются
  • Поддельные объединения увеличивают количество запросов
  • App Engine не допускает никаких библиотек Python с зависимостями сокетов или C (sentry, lxml ...)

Вы можете попытаться получить ранний доступ к CloudSQL .

В противном случае вы не обязаны использовать App Engine, вы можете подумать об использовании:

Дешевле и больше контроля с файлами требований поддержки, такими как pip.

3 голосов
/ 02 февраля 2012

31.01.2012, Google выпустила App Engine 1.6.2 , который поддерживает Django из коробки.

1 голос
/ 18 июня 2009

App Engine включает в себя версию 0.96 Django "из коробки", но он довольно поврежден.

App Engine Helper и app-engine-patch предположительно решают эту проблему в некоторой степени, но я и сам не пробовал.

http://code.google.com/appengine/articles/appengine_helper_for_django.html http://code.google.com/appengine/articles/app-engine-patch.html

0 голосов
/ 03 января 2013

Google запустил свое облачное хранилище SQL. Это фактически MySQL 5.5 в облаке. IMO, это очень хороший способ перенести приложение Django в облако. У них есть бесплатная пробная версия до 1 июня 2013 года.

Если вам нужны советы по настройке проекта Django для Appengine и Cloud SQL, я написал учебник для этого .

0 голосов
/ 18 июня 2009

Количество боли зависит от того, сколько существующего кода вы хотите использовать повторно. К сожалению, из-за того, что хранилище данных не поддерживает SQL, вы часто не можете просто взять какое-либо подключаемое django-приложение и использовать его в своем проекте GAE.

App-engine-patch http://code.google.com/p/app-engine-patch/, похоже, опережает других помощников django по переносу стандартных приложений (Sites, ContentTypes, Flatpages) в GAE. Я использовал app-engine-patch в нескольких проектах gae, и как только вы поймете, как перенести модель django-sql на модель django-gae и преобразовать запросы sql в хранилище данных, все можно сделать очень быстро, но всегда есть обучение кривая.

appengine-helper пытается восполнить пробел в хранилище данных, предоставляя модель, чтобы вам не приходилось менять суперклассы модели, но я обнаружил, что вам в конечном итоге придется изменить отношения ManyToMany и любой sql, так что преимущество в конечном итоге будет минимальным. У ae-patch есть план, чтобы попытаться предоставить серверную часть ae-datastore, но, вероятно, это не произойдет какое-то время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...