Pregunta

Ahora que he conseguido relativamente familiarizados con web2py, me gustaría dar un ir Django.

¿Cuáles son las principales diferencias?

¿Cuál sería la forma más eficiente para empezar teniendo en cuenta el conocimiento web2py? (Se debe ayudar a tener algún conocimiento framework de aplicaciones Python, no?)

Editar

Además, si usted ha utilizado tanto, se puede ofrecer una opinión sobre cuál prefiere y por qué?

¿Fue útil?

Solución

web2py fue muy inspirado por Django y si uno sabe que es fácil de aprender del otro. Hemos añadido algunas características que no encontramos en Django, incluyendo: las migraciones de bases de datos (alterar tablas automáticamente), entradas de errores, un IDE basado en la web, una capa de abstracción de base de datos que funciona en Google App Engine, un mecanismo de control de acceso basado en roles con entrada conectable módulos.

Una de las diferencias fundamentales de diseño es que en Django aplicaciones se implementan como módulos y por lo tanto es necesario reiniciar el servidor cuando se edita. En web2py en vez Modelos / Vistas / Los controladores no son módulos, que son ejecutados (no importados) por los marcos y por lo tanto no es necesario reiniciar el servidor cuando cambian.

Otra diferencia es que Django usa un ORM, web2py utiliza un DAL. El DAL es de nivel ligeramente inferior a la Django ORM y esto hace que sea más cercano a la sintaxis SQL (por ejemplo se permite izquierda se une, los agregados arbitrarias, selecciona anidados y combinaciones de los mismos) sin dejar de ser portátil (apoyamos 10 bases de datos diferentes). El DAL también hacen que sea fácil de hacer meta-programación dinámica de los modelos (como la creación de modelos en tiempo de ejecución en base a las especificaciones almacenados en el archivo como un archivo XML o CSV).

Django ha sido por más tiempo por lo que encontrar a más personas expertas con él y más aplicaciones desplegadas.

Otros consejos

Django = edad

Web2py = new

Cualquier cosa que hace Django, web2py hace mejor. Esto se debe a web2py se hizo mucho después de Django y ha aprendido de los errores de Django, a pesar de que hace que todos los nuevos errores;)

La principal diferencia, y lo que me está manteniendo en web2py:

  1. Django tiene documentación increíble ... web2py es tan intuitivo que no necesita tanto ... Sin embargo! He encontrado que la documentación de Django es aplicable a Web2Py, por En su mayor parte. Si usted pasa un día y leer el libro de Django (Ch 1-7), obtendrá la idea acerca de cómo eso es cierto. Así pues, en cierto modo, diciendo Django está mejor documentado es estúpida. Además, tenga en cuenta que cualquier marco que va por ahí hablando de los volúmenes de documentación para ello como una buena cosa ... se refiere ... documentación es buena, sin necesidad de ninguna comenzar con = mejor. documentación existente de más de Web2py satisface las necesidades del 90% de los usuarios. El 10% restante tiene que ir a echar un vistazo al código de la biblioteca marco (no tanto de él como Django, y no como miedo). Además, si se llega a tal punto que se están gastando más del 30% de su tiempo de pasar por código de la biblioteca, es el momento de alejarse de los marcos y avanzar hacia colecciones de bibliotecas (como las torres de alta tensión). En ese punto, significa que no está haciendo nada que los marcos web fueron diseñados para manejar ...

  2. SQLFORM en Django es TextModel. Una vez que se crea un formulario utilizando TextModel (= SQLFORM). Buena suerte tratando de cambiar el CSS de un solo campo de entrada! En web2py que acaba de hacer form.element (), hay tal cosa en Django. Usted tiene que ir a través de "widgets ()", pero para llegar a widget, usted tiene que pasar primero por el tipo de campo de entrada, etc ...

  3. Además, DB migración manual ... cambio de esquema? Lo sentimos ... tienen que descargar e instalar una aplicación separada de migración (Sur), o tienen que hacerlo de forma manual en la consola DB.

  4. Por último, no está fuera de la caja de soporte para múltiples DBs ... piensan aros ...

En otras palabras ... con Django ... espero que les guste saltar y aros.

Si usted quiere tomar realmente un salto hacia adelante desde web2py, tratar Pilones ... en serio ...

El mayor inconveniente de web2py es su edad y la base de código más pequeño ... esto no es razonable, sin embargo, considerando Django es como el primer framework web Python para poner en práctica las ideas RAD estilo rieles y es como el doble de la edad de web2py. Web2py se encuentra todavía en su porción adopción temprana de su vida ... Django está en la parte de masa crítica más allá de venir a declinar ... web2py debe alcanzar una masa crítica en cualquier momento en los próximos 2 años, predigo.

Conclusión Pasar un día, leer el libro de Django (CH 1-7), y leer el libro Pilones (Parte 1), y luego pensar en por qué está utilizando un marco para empezar. Para mí fue a hacer mucho, lo más rápidamente posible, y sin levantar la documentación el 30% del tiempo.

Web2py cumple con las necesidades anteriores para mí.

He hecho una pequeña aplicación web en la casa por completo en Django, y luego después por completo en web2py. Es la única manera de entender realmente las diferencias y su impacto en la experiencia del desarrollador.

Yo prefiero web2py porque hay más comodidades incorporadas en el medio ambiente que el ofrecido por Django, pero web2py es mucho más nuevo que Django y retrospectiva siempre hace que sea más fácil hacer mejor las nuevas implementaciones. Desde web2py se garantiza la compatibilidad con versiones anteriores, es totalmente plausible que alguna nueva herramienta hace web2py obsoleta en pocos años a partir de ahora. Esa es la forma normal de las cosas.

De todos modos, son muy cerca uno del otro, mucho más que cualquier otro framework de desarrollo web en comparación con cualquiera de los dos. Desde el punto de vista de un framework de desarrollo web basado en Java, por ejemplo, podrían parecer casi idénticos entre sí.

Es sin duda ayuda a tener conocimiento de algún marco pitón.

La manera más efectiva para empezar sería, para comparar los diferentes sectores de los dos, es decir, Modelo, Vista, Controlador, Url Despacho, plantillas, formularios, etc.

Aquí es una gran comparación de unos marcos. Estoy seguro de que va a ayudar.

Yo era un programador Django antes de decidirse por web2py. Me encontré más eficiente con web2py, posiblemente debido a los parámetros por defecto (importaciones implícitas, vistas por defecto, etc.) y el gran apoyo en la foro .

brevemente y al punto: Web2py es lo que debería haber sido Django.

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