variable template python django frameworks web2py turbogears

python - variable - django template tags filter



Django, Turbo Gears, Web2Py, ¿cuál es mejor para qué? (7)

Tengo un proyecto en mente que hace que valga la pena finalmente lanzarse a la programación.

Después de leer un montón de cosas, aquí y en otros lugares, estoy dispuesto a hacer de Python el que aprendo por ahora, a través de C # o Java. Lo que más me convenció fue en realidad las excursiones de Paul Graham en lenguajes de programación y Lisp, aunque Arc está en la etapa experimental, lo que no me ayudaría a hacer esta aplicación web en este momento.

En cuanto a la aplicación web rápida, he comprobado Django, Turbo Gears y Py2Web. A pesar de pasar mucho tiempo leyendo, todavía no tengo ni idea de cuál debería usar.

1) Django ciertamente tiene la mejor presencia en línea, y un tutorial en el sitio muy bien hecho, ellos saben cómo mostrar sus cosas.

2) Web2Py me atrajo con su no-instalación necesaria y la afirmación de hacer que Django parezca complicado. Pero cuando investigas en su sitio web, rápidamente encuentras contenido que no se ha actualizado en años con enlaces externos rotos ... Hay fantasmas en ese sitio web que hacen que alguien que no esté íntimamente familiarizado con el proyecto se preocupe si puede ser plano.

3) Turbo Gears ... Supongo que también es modular. A la gente que escribió sobre esto le encantó ... No pude encontrar nada específico que pudiera hacerlo especial sobre Django.

Todavía no me he decidido por un IDE, aunque leí todas las respuestas a la publicación de finalización del código de Intellisense aquí. Mostrar fragmentos de código adicionales también sería genial para noobs como yo, pero supongo que primero debería elegir mi marco de trabajo web y luego elegir un editor que funcione bien con él.

Como probablemente ningún marco es el mejor en todo, daré algunos detalles sobre la aplicación que quiero construir:

Utilizará MySQL, necesita registro / inicio de sesión, y habrá una carga de operaciones matemáticas simples en los datos de entrada y consultas SQL. He completado un prototipo funcional en Excel, así que sé exactamente lo que quiero construir, y espero que me ayude a superar mi noobness. Seré una aplicación pequeña, nada grande.

Y no quiero ver ningún HTML mientras lo construyo ;-)

PD: gracias a la gente que ejecuta Stackoverflow, ¡encontré este lugar justo en el momento adecuado también!


Debe consultar la documentación en línea de web2py ( http://web2py.com/book ). Viene con un control de acceso basado en roles (el mecanismo de control de acceso más general) y es muy detallado, puede otorgar acceso para operaciones específicas en registros específicos. Viene con un IDE basado en web, pero también puede usar WingIDE , Eclipse y PyCharm . Viene con un sistema auxiliar que le permite generar HTML sin usar HTML. Este es un ejemplo de una aplicación completa que requiere que los usuarios se registren / inicien sesión / publiquen mensajes:

db.define_table(''message'',Field(''body''),Field(''author'',db.auth_user)) @auth.requires_login() def index(): db.message.author.default=auth.user.id db.message.author.writable=False return dict(form=crud.create(db.message), messages=db(db.message.id>0).select())

El proyecto web2py es muy activo, como puede ver en la lista de cambios http://code.google.com/p/web2py/source/list

Si tiene preguntas relacionadas con web2py, le sugiero que se una a la lista de correo de web2py: http://groups.google.com/group/web2py/topics

Somos muy activos y sus preguntas serán respondidas muy rápidamente.


He tenido experiencias positivas con Django.

  • Autenticación incorporada y extensiones fáciles de usar para el registration
  • Muy buena documentacion
  • Probablemente escriba sus plantillas HTML principalmente en base.html , luego solo use la herencia de plantillas (Nota: deberá escribir al menos un poco de HTML)
  • En contraste con Turbogears, Django es más ''listo para usar''
  • No tengo ninguna experiencia con web2py, pero a partir de mi impresión, trata de hacer un poco ''fuera de la caja''

He usado web2py y RoR extensivamente, y mientras RoR ha ganado mucha popularidad y apoyo en los últimos años, web2py es más simple, más limpio, menos "mágico" y, sin embargo, también ofrece más (útil) fuera de línea. La funcionalidad de la caja. Diría que web2py tiene más potencial que RoR, pero es un marco relativamente nuevo y aún no tiene la madurez de RoR. (A pesar de eso, sin embargo, elegiría web2py sobre RoR cualquier día ...)


Si "no quieres ver ningún HTML mientras lo construyes", entonces puedes olvidarte de Django. No se enfoca en "hacer clic al hacer clic", sino que se enfoca en los profesionales que van del concepto a la producción en el menor tiempo posible. La naturaleza jerárquica del lenguaje de creación de plantillas puede llevar a algunos diseños de sitios en general muy limpios. Uso Django para todos mis sitios más grandes y me encanta.

Aunque está escrito en PHP, no en Python, puede echar un vistazo a la nueva versión principal de WordPress que salió hace 2 o 3 meses. En 3.0 han avanzado mucho desde que se trata de un entorno "solo para blogs" y hay un montón de plantillas listas para usar. Por supuesto, si quieres modificar una plantilla, bueno, hay ese viejo y desagradable HTML de nuevo. Estoy considerando usarlo para mis clientes más pequeños que no pueden lidiar con el administrador de un servidor dedicado, etc., que tiende a venir con un sitio de Django.

Actualización: Ah, me perdí la broma: me levanté muy temprano y eso tiende a aturdirme al humor. En cuanto al uso de plantillas de sitios existentes, lo he hecho con bastante éxito con un par de sitios, tanto los que eran estáticos como los que funcionaban originalmente mediante scripts PHP bien escritos. Recomiendo una lectura cuidadosa de los documentos {% extends %} y {% include %} . Ambos toman una cadena literal o una variable. He utilizado el método posterior y puede ser bastante útil para un sitio que tiene una fuerte jerarquía que se distingue por los cambios de estilo en las sucursales.

También vale la pena dedicar tiempo a comprender el orden de búsqueda de las plantillas: se puede utilizar con buenos resultados, pero puede ser desconcertante si no lo asimila. Vea los elementos relacionados con la plantilla en el archivo settings.py para esta y otras novedades útiles.


Si decides ir con Django, asegúrate de usar sus Vistas genéricas. Le evitarán escribir muchos códigos, tanto en Python como en HTML.

Además, a menos que haya una razón muy específica para que use MySQL, le aconsejo que cambie a PostgreSQL. Django está mucho más orientado hacia PostgreSQL y es una base de datos mucho mejor de todos modos.

La documentación en línea de Django es excelente, esto es lo que lo distingue de todos los demás marcos. También recomiendo el libro Practical Django Projects de James Bennett.


Tengo que decir que no soy un desarrollador particularmente hábil, la velocidad a la que he podido crear utilizando web2py ha volado mi mente. En gran parte debido a la increíble comunidad y el valor central que tiene Massimo de hacer que el marco sea accesible.

Cuando comencé, había escrito 0 líneas de código en Python Nunca había oído hablar de web2py

He estado trabajando seriamente durante aproximadamente un mes y he progresado (en mi forma habitual) desde hacer preguntas que nadie podía responder (porque no tenían ningún sentido) hasta programar por horas sin tener que levantar un libro. o haciendo una pregunta.

Estoy realmente impresionado.


  • Django: Oído tiene la mejor interfaz administrativa. Pero usa su propio ORM, es decir, no usa SQL-Alchemy.

  • Web2py: No he investigado esto.

  • Turbogears2: utiliza SQL-Alchemy de forma predeterminada, usa Catwalk para la interfaz de administración, pero la documentación no es tan buena.

Elegí Turbogears2 porque usa componentes populares, así que no tuve que aprender nada nuevo ...