Django и механизм приложения

Я хотел проверить состояние выполнения Django на Google App Engine в настоящее время и что преимущества выполнения django на GAE, просто использующем Веб-приложение.

Django основная уничтожающая функция, по моему скромному мнению, является reuseable приложениями и промежуточным программным обеспечением. К сожалению, актуальнейшие приложения Django используют модели или образцовые формы (django-теги, django-обзоры, django-профили, приложения Pinax).

Таким образом, что является остающимися функциями или преимуществами, которыми django обладает, который может все еще работать в Google App Engine (кроме того, что отключено: популярные django приложения, сессия и промежуточное программное обеспечение аутентификации, пользователи и администратор, модели, и т.д.).

Кроме того, есть ли список приложений Django, которые работают в Механизме Приложения также?

27
задан Wooble 4 January 2010 в 14:22
поделиться

4 ответа

app-engine-patch в настоящее время имеет большую часть функционала django, включая сессии, contrib.auth, сайты и некоторые другие стандартные приложения для django. Однако основным недостатком (на мой взгляд) является то, что для реализации этой функциональности он использует zip-файл модифицированной версии django, а нынешние мейнтейнеры, похоже, не успевают за текущими релизами django. В настоящее время, похоже, существует консенсус между мэйнтейнерами прошлых и настоящих версий, что такой подход слишком громоздкий, чтобы его поддерживать, и поэтому в настоящее время никто его не поддерживает.

google-app-engine-django, использует обезьяний патч подход последней версии django, включенной в production GAE runtime, поэтому, пока google продолжает отслеживать выпуски django, вы будете в курсе последних событий, связанных с django. Однако на данный момент он не полностью портировал contrib.auth, поэтому Вы можете аутентифицироваться только с помощью аккаунтов Google - что может быть большим недостатком в зависимости от того, хотите ли Вы, чтобы модели contrib.auth User работали так, как Вы их знаете, на sql бэкэндах. Также в помощнике отсутствует поддержка администратора django, так как она есть в app-engine-patch. Существует вилка django-app-engine-django , которая добавляет в некоторые приложения, такие как плоские страницы, сайты и карты сайтов. Также обратите внимание, что она работает только на версиях джанго до 1.1, пока issue #3230 Django 1.2 не будет добавлен в use_library, если только вы не загрузите джанго в виде zip-файла.

На горизонте первоначальный разработчик app-engine-patch работал над веткой django-nonrel, но это может быть довольно далеко от того, чтобы быть включенным в релиз джанго. Этот поток разработчиков django содержит много информации об этих усилиях.

Отдельно стоит отметить google summer of code - проект, работающий над интеграцией некоторых аспектов nonrel db's.

.
11
ответ дан 28 November 2019 в 05:52
поделиться

app-engine-patch получает большинство из того, что работает внутри AppEngine - так что вы можете (в основном) использовать прямые модели, пользоваться пользователями и администраторами Django и т.д.

Я использовал его только для довольно простых проектов (будучи довольно новичком в django), но они утверждают, что большинство приложений Django будут работать с (в большинстве случаев) незначительными изменениями в AppEngine. Например, app-engine-patch использует классы AppEngine Model, а не Django; а некоторые базовые представления слишком неэффективны, чтобы работать на Appengine.

добавлено: google-app-engine-django аналогичен; но предоставляет BaseModel, которая выглядит идентичной BaseModel от Django. Насколько я понимаю, Google выпустил google-app-engine-django, а затем вилкой создал app-engine-patch. Сопровождающие app-engine-patch, похоже, преследуют несколько иные цели, чем создатели google-app-engine-django, так что вы можете обнаружить, что один из двух вариантов подходит вам лучше, чем другой.

Google предоставил некоторые статьи о запуске приложений Django в appengine; последняя из них - это гостевой пост от авторов app-engine-patch.

.
3
ответ дан 28 November 2019 в 05:52
поделиться

Я добился наибольшего успеха, просто выбрав нужные мне функции Django и самостоятельно исправив их в веб-приложении. В моем последнем проекте я на самом деле просто вырезал все вебаппы полностью. Я до сих пор импортирую и вызываю несколько функций утилиты webapp'а, но в основном это ручное приложение, собранное из хороших частей GAE и Django

.
1
ответ дан 28 November 2019 в 05:52
поделиться

Вам может быть интересно проверить Web2PY, еще один Python Framework, который предположительно имеет меньше трения между GAE и «нормальным» веб-сервером.

1
ответ дан 28 November 2019 в 05:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: