¿Cuánto le cuesta ejecutar una aplicación de Django en App Engine? Además, ¿funciona el Almacén de datos tal como está con Django?Django en Google App Engine
Respuesta
pasé algún tiempo tratando de responder a la misma pregunta ... me parece que lo más difícil de transferir a GAE son modelos de Django ... en el sentido de que requieren varias modificaciones y reconsideración, principalmente porque el backend de GAE no es un DB relacional estándar, sino el BigTable de Google. He encontrado una buena introducción a esta aquí:
http://www.youtube.com/watch?v=rRCx9e38yr8
De todas formas, vale la pena la descarga de uno de estos 'parches' y tienen un ir con él!
Para mí, la mejor solución es 'app-engine-patch'. ¡Descargué el proyecto de muestra y funcionó inmediatamente! (Tenga en cuenta que necesita tener el SDK de GAE instalado por separado) Una característica clave para mí es el hecho de que el django-admin y muchas otras funciones clásicas de django también se han portado.
http://code.google.com/p/app-engine-patch/
El documentation es todavía bastante mínima en mi opinión, pero es lo suficientemente bueno para que te va. Sin embargo, ¡te ayudará a hojear los documentos oficiales de GAE!
App Engine incluye la versión 0.96 de Django lista para usar, pero está bastante tullida.
App Engine Helper y el app-engine-patch supuestamente solucionan este problema hasta cierto punto, pero yo tampoco lo he intentado.
http://code.google.com/appengine/articles/appengine_helper_for_django.html http://code.google.com/appengine/articles/app-engine-patch.html
La cantidad de dolor depende de la cantidad de código existente que desea reutilizar. Lamentablemente, debido a que Datastore no es compatible con SQL, a menudo no puede simplemente tomar cualquier aplicación django-conectable y usarla en su proyecto GAE.
App-engine-patch http://code.google.com/p/app-engine-patch/ parece estar por encima de los otros django helpers al llevar las aplicaciones estándar (Sites, ContentTypes, Flatpages) a GAE. He usado app-engine-patch en varios proyectos gae, y una vez que entiendes cómo portar un modelo django-sql a un modelo django-gae y convertir sql a consultas en el almacén de datos, las cosas se pueden hacer muy rápidamente, pero siempre hay un aprendizaje curva.
appengine-helper intenta salvar la brecha Datastore proporcionando un modelo para que no tenga que cambiar las superclases de su modelo, pero he encontrado que finalmente tiene que cambiar ManyToMany relaciones y cualquier SQL de todos modos, por lo que la ventaja termina siendo mínima. ae-patch tiene una hoja de ruta para tratar de proporcionar un back-end ae-datastore, pero probablemente no sucederá por un tiempo.
Solo Yesterday (depending on your time zone), Google released a new SDK para Python en Appengine que admita django 1.0 fuera de la caja.
¡Gracias por el puntero! ¡También estoy muy entusiasmado con las colas de tareas! – MathOldTimer
es esa edición Django-NoSQL? –
* Django-Nonrel? –
31.01.2012, Google released App Engine 1.6.2 compatible con Django desde el primer momento.
¿Tiene que usarlo con CloudSQL o también puede usar The HRD Datasotre? –
Debe usar django-nonrel (source).
Usted va a encontrar un montón de problemas:
- relaciones Many2Many no apoyaron
- falso aumento une número de consultas
- App Engine no permite que ningún lib pitón con zócalo o dependencias C (centinela , lxml ...)
Puede intentar obtener acceso anticipado al CloudSQL.
lo contrario, no está de restricción para utilizar App Engine, se puede pensar en usar:
Más barato y más control con los ficheros de necesidades de apoyo como de pepita.
Google ha lanzado su almacenamiento Cloud SQL. Eso es realmente MySQL 5.5 en la nube. OMI es una forma muy agradable de migrar su aplicación Django a la nube. Tienen una versión de 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 for that.
- 1. Django 1.1 en Google App Engine
- 2. Google App Engine: get_or_create()?
- 3. Django y App Engine
- 4. Google-app-engine NDB
- 5. Google App Engine Locking
- 6. Google App Engine Geohashing
- 7. Google App Engine
- 8. Google app engine & CDN
- 9. web.py en Google App Engine
- 10. Jinja2 en Google App Engine
- 11. appengine_config.py en Google App Engine
- 12. eCommerce en Google App Engine
- 13. Google App Engine en Silverlight
- 14. debería dejar Google App Engine?
- 15. Django personalizados Etiquetas plantilla en Google App Engine
- 16. ¿Mejores características de Django que funcionan en Google App Engine?
- 17. Uso de Beaker en Google App Engine (Django)
- 18. ¿Es posible usar Django 1.2 en Google App Engine?
- 19. ¿Cómo comenzar con las sesiones en Google App Engine/Django?
- 20. eliminación recursiva en Google App Engine
- 21. Google App Engine en Google Apps Domain
- 22. ¿Debo usar google-app-engine-django o app-engine-patch o ninguna otra cosa?
- 23. Implementación de etiquetas en Google App Engine
- 24. ¿Alternativa para Google App Engine?
- 25. Django + Pydev/Eclipse + Google App Engine: ¿es posible?
- 26. Google App Engine: autenticación personalizada
- 27. Google App Engine: módulo JSON
- 28. Google App Engine: appcfg.py rollback
- 29. Google App Engine y dos.xml
- 30. Google App Engine y CORS
Encontré el parche del motor de la aplicación como un PIA. Siempre busca algunos módulos extraños de python, a menudo devuelve errores extraños y funciones completamente diferentes a django runserver. – drozzy
es este parche mejor que Django-Nonrel? –
NOTA: app-engine-patch es antiguo y está abandonado. No lo uses – dfrankow