standard run locally google engine deploy app django google-app-engine

run - Django en Google App Engine



run django app locally (7)

31.01.2012, Google lanzó App Engine 1.6.2 que admite Django fuera de la caja.

¿Qué tan difícil es ejecutar una aplicación Django en App Engine? Además, ¿el almacén de datos funciona como está con Django?



Google ahora ha lanzado su almacenamiento en la nube SQL. Eso es en realidad MySQL 5.5 en la nube. OMI, es una forma muy agradable de migrar su aplicación Django a la nube. Tienen una prueba gratuita hasta el 1 de junio de 2013.

Si necesita algunos consejos sobre cómo configurar su proyecto Django para Appengine y Cloud SQL, he escrito un tutorial para eso .


La cantidad de dolor depende de la cantidad de código existente que desee reutilizar. Desafortunadamente, debido a que el almacén de datos no es compatible con SQL, a menudo no puede simplemente tomar cualquier aplicación conectable con django y usarla en su proyecto GAE.

App-engine-patch http://code.google.com/p/app-engine-patch/ busca anticiparse a los demás ayudantes de django para llevar las aplicaciones estándar (Sitios, Tipos de contenido, Páginas planas) a GAE. He usado app-engine-patch en varios proyectos de gae, y una vez que entienda cómo trasladar un modelo de django-sql a un modelo de django-gae y convertir sql a consultas de datos, se puede hacer muy rápidamente, pero siempre hay un aprendizaje curva.

appengine-helper trata de cerrar la brecha del almacén de datos al proporcionar un modelo para que no tenga que cambiar las superclases de su modelo, pero he descubierto que terminará teniendo que cambiar las relaciones ManyToMany y cualquier SQL de todos modos, por lo que la ventaja termina siendo mínimo. ae-patch tiene una hoja de ruta para tratar de proporcionar un backend de ae-datastore, pero probablemente no suceda por un tiempo.


Necesitas usar django-nonrel ( source ).

Todavía encontrarás un montón de problemas:

  • Many2Many relaciones no soportadas
  • Uniones falsas aumentan el número de consultas
  • App Engine no permite ninguna biblioteca de Python con socket o dependencias de C (centinela, lxml ...)

Puede intentar obtener acceso temprano a CloudSQL .

De lo contrario, no tiene restricciones para usar App Engine, puede pensar en usar:

Más barato y más control con archivos de requisitos de soporte como pip.


Pasé un tiempo tratando de responder la misma pregunta ... me parece que lo más difícil de transferir a GAE son los modelos de django ... en el sentido de que requieren varias modificaciones y replanteamiento, principalmente porque el backend de GAE no es un DB relacional estándar, pero BigTable de Google . He encontrado una buena introducción a esto aquí:

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

De todos modos, vale la pena descargar uno de esos ''parches'' y ¡pruébalo!

Para mí, la mejor solución es el '' app-engine-patch ''. Descargué el proyecto de muestra y funcionó de inmediato! (Tenga en cuenta que necesita tener el SDK de GAE instalado por separado). ¡Para mí, una característica especial es el hecho de que el django-admin y muchas otras funcionalidades clásicas de django también se han portado!

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

En mi opinión, la documentation es todavía bastante mínima, pero es lo suficientemente buena para ponerte en marcha. ¡Te ayudará a hojear los documentos oficiales de GAE!