Веб-фреймворк Python для Google App Engine - PullRequest
4 голосов
/ 01 октября 2011

(обратите внимание, что этот вопрос и некоторые ответы старые)


Я хочу использовать существующую среду Python для разработки приложения на Google Appengine.

Он должен быть быстрым и простым для запуска и поддержки методов разработки на основе тестирования простым способом.

Можете ли вы порекомендовать стек? А как насчет Джанго?


Дополнительная информация:

Есть несколько портов django, но вопросы stackoverflow уже устарели. Было несколько решений django / appengine, я не знаю, какое из них в настоящее время лидирует. (Это уже устарело, см. Принятый ответ, а также другие ответы).

Но интересны и другие фреймворки, не только django.

То, что также хорошо звучит, но не является условием, - это возможность запустить приложение на платформе и appengine и, возможно, позже запустить его на собственной версии (noSql-) этой платформы (которая может быть django, или может быть, еще что-нибудь).

Ответы [ 7 ]

3 голосов
/ 10 мая 2014

Для меня выбор djangoappengine .

Это форк проекта django, созданный специально для баз данных no-sql, таких как Google App Engine и MongoDB.Основным преимуществом этого является то, что вы получаете доступ ко всем классным вещам, исходящим из проекта django, и в то же время работаете на масштабируемой архитектуре GAE.Еще одним преимуществом является то, что с djangoappengine вы можете легче выйти из App Engine, чем если бы вы использовали их API напрямую (хотя это, вероятно, легче сказать, чем сделать).

Ходили слухи, что Django объединит изменения с основным проектом Django, но этого еще не произошло (по состоянию на май 2014 года).

Некоторые соответствующие ссылки:

2 голосов
/ 28 марта 2014

Я очень доволен этим образцом:

https://github.com/coto/gae-boilerplate

Посмотрите на его функции и возможности, он очень полный!

2 голосов
/ 07 февраля 2014

Если вы хотите создать крупномасштабное приложение и вам нужна более гибкая инфраструктура, вы можете взглянуть на

Pyramid Python Framework

Ранее он назывался Pylons. Есть много хороших компаний, использующих этот фреймворк.

Вы можете найти инструкции по процессу развертывания его на appengine на их веб-сайте: http://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/deployment/gae_buildout.html Процесс использует buildout и также включает локальную среду тестирования.

2 голосов
/ 29 января 2014

Мне лично понравилось использовать Flask в App Engine, используя этот шаблон: https://github.com/kamalgill/flask-appengine-template

Код хорошо организован в этом шаблоне и включает в себя множество полезных функций разработки, таких как профилирование и статистика приложений.

2 голосов
/ 02 октября 2011

(Обратите внимание, что этот ответ старый и больше не действителен.)


После прочтения комментария Тома Уиллиса по этому вопросу, а также принятого ответа на этот вопрос , я заметил, что webapp / webapp2 выглядит многообещающе.

  • Существует определенный уровень приверженности от Google
  • Нет необходимости создавать и поддерживать собственные версии для существующих обработчиков SDK
  • Существуют библиотеки, созданные с помощью AppИмеется в виду движок, основанный на webapp, и для работы с другими фреймворками потребуется порт или адаптер
  • Его можно использовать за пределами appengine
  • Модульное тестирование легко настроитьи задокументировано здесь
1 голос
/ 20 апреля 2016

Я написал GAEStarterKit , цель которого - помочь вам как можно быстрее набрать скорость. Это похоже на проекты типа GAE-Boilerplate или gae-init, но есть несколько ключевых отличий:

  • Первый и самый очевидный, я использовал UIKit поверх HTML5 Boilerplate. Boilerplate - отличный выбор, и, очевидно, популярность приходит с привилегиями, но для быстрого начала я нахожу uikit немного более «полным».
  • Я приложил много усилий для того, чтобы система входа / регистрации пользователей была максимально продумана. Пользователи могут иметь несколько адресов электронной почты, несколько методов аутентификации и могут быть связаны с несколькими арендаторами, если это применимо. Вход в социальную сеть для пользователей, не являющихся пользователями Google, осуществляется через Authomatic , который является отличным проектом и очень хорошо поддерживается.
  • Хотя это немного грубовато, я сделал нечто очень похожее на GenericViews в Django, но в Flask и с моделями GAE. Для этого я использовал интеграцию WTForms, так что все работает довольно хорошо из коробки. Это конечно не идеально, но довольно хорошо.
  • Я действительно серьезно относился к идее не повторяться. Например, в gae-init вы найдете много кода CRUD. Со стороны администратора вы можете добавить модель к своему интерфейсу администратора в GAEStarterKit с одним импортом и одной функцией all.

Может стоит подумать.

1 голос
/ 29 января 2014

Я наслаждаюсь

http://ferris -framework.appspot.com /

, который был написан специально для GAE.Я люблю Django в целом, но не для gae, я чувствовал, что использование django-nonrel требует слишком много предостережений, что оно того не стоит.

...