Pregunta

He estado usando TurboGears 1 para la creación de prototipos sitios pequeños en el último par de años y se está haciendo un poco largo en el diente. Cualquier sugerencia sobre cómo hacer la llamada entre la actualización a TurboGears 2 o cambiar a algo así como Django? Estoy dividido entre la familiaridad de la comunidad TG que son muy sensibles y hacer bastante buena documentación vs la comunidad mucho más grande usando Django. Estoy muy tentado de parte de las características incorporadas en la CMS y el apoyo Google App Engine.

Cualquier consejo?

Gracias

.M.

¿Fue útil?

Solución

Tengo experiencia tanto con Django y TG1.1.

OMI, TurboGears punto fuerte es que es ORM: SQLAlchemy. Yo prefiero TurboGears cuando el lado de la base de datos de las cosas no es trivial.

ORM de Django es simplemente no es tan flexible y potente.

Una vez dicho esto, yo prefiero Django. Si el esquema de base de datos es un buen ajuste con ORM de Django Me gustaría ir con Django.

En mi experiencia, es simplemente menos problemas para utilizar Django en comparación con TurboGears.

Otros consejos

TG2 se construye en la parte superior de los pilones que tiene una bastante grande comunidad. TG ahora más rápida en comparación con TG1 y que incluye un motor de almacenamiento en caché por cada método (no sólo las páginas web). Creo que es más AJAX ambiente que Django por el aspecto de las páginas pueden ser publicados fácilemte en HTML o JSON.

2011 Actualización: Después de 3 años de marcos hinchados Soy un feliz usuario de http://bottlepy.org/

He estado usando Django desde hace un año y cuando empecé no tenía ninguna experiencia de Python o Django y me pareció muy intuitivo de usar.

He creado una serie de aficionado Google App Engine aplicaciones usando Django con el último de los cuales un CMS para mi sitio. Uso de Django ha significado que he sido capaz de código mucho más rápido y con muchos menos errores.

Estoy seguro de que habría leído de un montón de comparación entre TurboGears y Django en la web.

Pero en cuanto a su tentación de CMS y GAE, i puedo pensar que tienes que seguir el camino DJango. Verlas, y decidir ti mismo.

Django con GAE

Django para CMS

TG2 parece mucho más complicado y confuso, incluso para hacer algo tan simple como una página de acceso a mensajes de error multimple Cómo extender la funcionalidad de inicio de sesión TurboGears 2.1 Creo que eso es debido a la intemperancia en la modularidad ...

ORM de Django utiliza la implementación registro activo - verá esta aplicación en la mayoría de ORM. Básicamente lo que significa es que cada fila de la base de datos se asigna directamente a un objeto en el código y viceversa. marcos ORM como Django no requerirán predefinir el esquema a utilizar las propiedades en el código. Usted sólo se utilicen, ya que el marco puede ‘entender’ la estructura mirando el esquema de base de datos. Además, sólo puede guardar el registro en la base de datos, como la que está asignada a una fila específica en la tabla.

SQLAlchemy utiliza la implementación de Datos Mapper - Cuando se utiliza este tipo de aplicación, hay una separación entre la estructura de base de datos y la estructura de objetos (que no son de 1: 1 como en la implementación Active Record). En la mayoría de los casos, tendrá que utilizar otra capa de persistencia para mantener interactúan con la base de datos (por ejemplo, para guardar el objeto). Así que no se puede simplemente llamar al método save () como se puede cuando se utiliza la aplicación Active Record (que es una estafa), pero por otro lado, que el código no tiene por qué conocer toda la estructura relacional de la base de datos para funcionar , ya que no existe una relación directa entre el código y la base de datos.

Entonces, ¿cuál de ellos gana esta batalla? Ninguna. Depende de lo que estamos tratando de lograr. Es mi creen que si su aplicación es un todo un CRUD (crear, leer, actualizar, eliminar) la aplicación qué reglas hay duras y complejas para aplicar sobre las relaciones entre las diferentes entidades de datos, se debe utilizar la aplicación Active Record (Django). Se le permitirá configurar fácilmente y rápidamente crear un MVP para su producto, sin ningún tipo de molestia. Si usted tiene un montón de “reglas de negocio” y restricciones en sus aplicaciones, puede ser mejor con el modelo de datos Mapper, ya que no le atará y te obligan a pensar estrictamente como Active Record hace.

Ive consiguió solamente una pregunta ... es la aplicación que está desarrollando dirigido hacia las redes sociales   o lógica de negocio a medida?

Yo personalmente encuentro Django es bueno para las redes sociales y pilones / TurboGears si realmente   quieren la flexibilidad y no hay límites ...

sólo mi 2c

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top