Использование web.py в Appengine - PullRequest
       39

Использование web.py в Appengine

2 голосов
/ 04 августа 2011

Я ищу простой веб-фреймворк Python, который работает как автономно, так и в Appengine.

Я хотел бы написать приложение таким образом, чтобы я мог переключаться между автономным и Appengine в зависимости от развертывания.конфигурации.Автономный будет использовать RDBMS.

Когда я проверил, web.py выглядел просто и многообещающе.У меня есть следующие вопросы:

  • Хорошо ли работает web.py в Appengine?
  • Есть ли какие-то известные известные ошибки?
  • Можете ли вы поделиться своим опытом использования web.py в Appengine?
  • Любые предложения по достижению вышеупомянутой цели приветствуются.

Ответы [ 4 ]

4 голосов
/ 05 августа 2011

Работает ли web.py на Appengine?

Да, он работает довольно хорошо, он компактен и очень прост в использовании.

Есть ликакие-либо известные известные ошибки?

Web.py не предлагает какой-либо уровень абстракции данных, совместимый с GAE;это означает, что для переключения с СУБД на базу данных NoSQL необходимо самостоятельно создать слой над API базы данных web.db и API хранилища данных Google App Engine .

Можете ли вы поделиться своим опытом использования web.py в Appengine?

Я развернул пару простых приложений с web.py поверх GAE и другиминесколько домашних проектов с Sqlite в качестве базы данных; здесь мини обзор.

Будем благодарны за любые предложения по достижению вышеупомянутой цели.

Если переход с Appengine на RDBMS является вашей главной задачей, загляните на web2py .
Хотя с некоторыми ограничениями , насколько мне известно, это единственная дружественная GAE веб-инфраструктура Python, которая предлагает DAL выше хранилища данных App Engine и несколько других решений RDBMS.
Переключение с одной базы данных на другую - это всего лишь инициализация DAL с правильной строкой подключения:

db = DAL('sqlite://storage.db')
db = DAL('mysql://username:password@localhost/test')
db = DAL('gae')
3 голосов
/ 08 августа 2011

Ни одна инфраструктура веб-приложений сама по себе не сможет этого сделать - среда App Engine состоит из гораздо большего, чем просто интерфейс базы данных и среда CGI.Даже если бы это было возможно, любой DAL, который поддерживает как хранилище данных, так и реляционную БД, скорее всего, пожертвует большей гибкостью обоих в стремлении к этому.просто хранилище данных - это написать приложение для App Engine и использовать AppScale или TyphoonAE для запуска приложения вне среды App Engine.

1 голос
/ 04 августа 2011

Рассмотрите возможность использования webapp2 . Он похож на web.py, предоставляет в основном тот же набор функций и запускается вне App Engine из коробки. Кроме того, вы получаете звездную совместимость с App Engine SDK и библиотеками (я объясняю это лучше здесь ).

Вам нужно всего лишь добавить библиотеку реляционных баз данных. Но это простой выбор: SQLAlqchemy в значительной степени стандарт в Python, с большим количеством документации и процветающим сообществом.

0 голосов
/ 04 августа 2011

Я бы также предложил web2py . Отличный фреймворк, отличное сообщество, играет вне коробки вне AppEngine. Он также поддерживает множество баз данных (SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres и Google App Engine).

Кроме того, установить его на Linux, Windows, Mac тривиально.

...