Версия разработки Django против стабильной версии - PullRequest
2 голосов
/ 25 октября 2010

Я собираюсь начать работу над Django и разработать веб-приложение, которое я хочу развернуть в Google App Engine. Я узнал, что Google уже установил Django 0.96 на движок APP, но последняя «официальная» версия Django, которую я вижу, имеет версию 1.2.3, и это немного усиливает его установку.

Мне любопытно, какая версия Django наиболее широко используется.

Итак, не могли бы вы мне подсказать, какую версию Django мне следует развернуть и развернуть на основе следующего критерия

  1. Стабильность и пригодность для выпуска продукции
  2. Доступность для приложений (или плагинов) и какая версия наиболее поддерживается сообществом

Большое спасибо!

Ответы [ 3 ]

3 голосов
/ 25 октября 2010
Движок приложения

позволяет вам использовать другие версии django из коробки, без особых усилий, используя google.appengine.dist.use_library. по сути, ваш main.py (модуль, указанный app.yaml для обработки URL) должен выглядеть так:

import wsgiref.handlers


from google.appengine.ext import webapp
from google.appengine.ext.webapp import util

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

from google.appengine.dist import use_library   # important bit
use_library('django', '1.1')

import django.core.handlers.wsgi
def main():
  application = django.core.handlers.wsgi.WSGIHandler()
  # Run the WSGI CGI handler with that application.
  webapp.util.run_wsgi_app(application)

if __name__ == '__main__':
  main()
3 голосов
/ 25 октября 2010

Большинство людей в настоящее время используют Django 1.2. Вы не должны использовать или изучать Django .96 - он ОЧЕНЬ стар, и его освоение не подготовит вас к работе с Django без движка приложений, поскольку с тех пор все значительно изменилось.

Django в App Engine - это что-то вроде боли, так как вы теряете много ORM, что является действительно хорошей причиной для работы с Django. Вы также теряете возможность просто вставлять плагины и повторно используемые приложения, которые используют любой из Django ORM. Что-нибудь с models.py не будет работать.

Взгляните на google-app-engine-django для получения помощи в запуске более новой версии.

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

Есть работа по интеграции механизма хранения GAE в Django, и несколько проектов имеют различные рабочие реализации, но я бы не ожидал, что пока что действительно хорошая поддержка ORM - 1.3 (до релиза еще несколько месяцев) будет включать хуки, которые облегчают написание бэкэндов NoSQL, но Django, вероятно, не будет поставляться с ним.

Несмотря на наличие выпусков безопасности для старых версий Django, вы действительно должны разрабатывать с использованием последней стабильной версии. Основные выпуски Django имеют очень сильное обещание обратной совместимости, поэтому переход с 1.2 на 1.3, когда он выйдет, будет довольно плавным.

Я настоятельно рекомендую вам долго и усердно подумать о том, что именно App Engine предлагает вашему конкретному приложению, прежде чем тратить много сил на то, чтобы все заработало. Вы теряете мобильность приложения, масштабирование все еще сложно, и вы не экономите деньги, если ваше приложение становится популярным. App Engine - не прощающая вводная платформа.

Чтобы больше поговорить на эту тему, взгляните на этот вопрос:

Зачем использовать Django в Google App Engine?

особенно мой ответ там и комментарии к нему.

0 голосов
/ 25 октября 2010

Еще одна вещь, которую нужно учитывать, это то, как вы устанавливаете.Я уверен, что установить django из SVN, потому что это делает его обновление намного проще.

Я уже некоторое время использую версию dev на своем сайте, и пока не обнаружил ни одной ошибки, кроме той, которая незначительно повлияла на сайт администратора (исправлена ​​svn up).

Я не чувствую, используют ли люди 1.2 или dev, но по моему опыту, dev идеально подходит.Любые серьезные ошибки, которые могут возникнуть в коде, будут исправлены очень быстро, и svn up предоставит вам последний код, если вы не получите ревизию с серьезной ошибкой.

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