2009-02-08 22 views
5

Estoy en el proceso de comenzar un nuevo proyecto en App Engine y Brandon's advice me hizo pensar.¿Mejores características de Django que funcionan en Google App Engine?

Muchas características de Django no funcionan en Google App Engine: la interfaz de administrador y el marco de modelado, por ejemplo.

Teniendo en cuenta que App Engine ya cuenta con un marco sencillo incorporado ("webapp") y que pueda freely pick de las muchas soluciones de plantillas Python (incluyendo Django) sin atarme a un peso relativamente pesado (pero en este caso castrado) ¿Cuáles son las características principales que más extrañaría si no sigo con Django?

Antecedentes: Solo tengo una mínima experiencia en Django y estoy considerando utilizar plantillas Mako (para la velocidad).

Respuesta

6

Las diferencias principales es que usted ya sabe que no es compatible con Admin y Django (excelente) ORM, por supuesto. Sin embargo, esto no es sorprendente, ya que la API de Datastore de Google es excelente. Y no tienes que aprender GQL para jugar con él.

Pero usar Django significa que puede aprovechar más funciones existentes (middleware Django, etc.) y, si desea alejarse de Google App Engine en el futuro, habrá menos código para reescribir.

También Google lanzó el Google App Engine Helper for Django que puede serle útil en la configuración de la aplicación GAE Django.

Por lo tanto, prefiero ir a las aplicaciones de Google App Engine usando Django en lugar de la aplicación web pura.

Editar de Solicitud: funcionalidad existente de Django he mencionado, se puede tomar en términos de muchas aplicaciones útiles y sobre todo middleware siendo desarrollado por un gran día DJango Comunidad por día.

Además de útil Built-in-Middlewares aportado por DJango sí, hay muchos otros que pueden tener un conjunto de usos específicos también.

Para nombrar unos pocos (que suena interesante para mí):

Y jugar con ellos de manera eficiente "Conditional middleware execution in Django" puede ser útil.

Busque más, encontrará más.

+0

"puede aprovechar más funciones existentes (middleware Django, etc.)" ¿Podría dar más detalles? ¿Qué son exactamente esas características? – nyenyec

-4

Hazte un favor y no toques el motor de aplicaciones.

Si o más bien, cuando Google cambia las reglas, su tiempo y esfuerzo invertido en la ingeniería de la aplicación se perderán. (AppEngine) es decente si no le gusta algo al respecto, efectivamente ha perdido su inversión. No puedes simplemente tomar tu aplicación y ejecutarla en otro lugar. Google no es una organización benéfica; cambiarán las reglas porque pueden con sus inquietudes por encima de ti pequeño e insignificante. Es el peor tipo de bloqueo ...

0

En el momento de escribir, la mayoría de las funciones de django se trasladaron a GAE con la ayuda del proyecto Google Appengine Patch.

La principal que aún no era la compatibilidad con el modelo de Django, debe usar modelos GAE db. Pero no duele mucho.

Acaba de obtener Appengine-Patch y pruébelo.