web-development-kb-es.site

¿Qué es un buen framework ligero de Python MVC?

Sé que hay un montón de marcos de Python por ahí. ¿Pueden ustedes apuntarme en la dirección correcta? Mi principal preocupación es la simplicidad, no necesito muchas características extrañas. Aquí hay un par de otras cosas que me gustaría (o no quiero):

  • no me importa ORM, solo quiero que funcione con MySQL
  • tiene rutas configurables
  • tiene soporte para diseños
71
jon

web2py es 265Kbytes de código fuente y 1.2MB todo incluido (compare con 4.6MB de Django). Sin embargo, web2py hará todo lo que necesite (administrar sesión, cookies, solicitud, respuesta, caché, internacionalización, errores/tickets, abstracción de la base de datos para GAE, SQLite, MSSQL, MySQL, Postgres, Oracle, FireBird, etc.) No necesita instalación - simplemente descomprima y haga clic en él - y puede hacer el desarrollo en su navegador.

Web2py tiene ambas rutas y rutas inversas.

Web2py tiene sistemas de plantillas jerárquicas, lo que significa que una vista puede extender un diseño que puede extender otro diseño, etc. Las vistas también pueden incluir otras vistas.

44
massimo

Ya que explícitamente no quieres un ORM, me mantendría alejado de un marco de "pila completa" si fuera tú. El estándar WSGI de Python le brinda un montón de opciones fáciles de usar que le brindarán solo las funciones que necesita e incluso le permitirán elegir su estilo de trabajo.

Aquí hay un ejemplo: para el envío de URL puede usar Rutas , que puertos sobre el estilo de envío de URL de Rails. O puede combinar Selector con WebOb si ese estilo le conviene más.

Para "diseños", puede usar el potente Jinja2 si desea plantillas que no puedan ejecutar código. O, Mako si prefieres poder mezclar un poco de código con tus plantillas. Incluso puede usar Deliverance para controlar el diseño de las páginas compuestas por múltiples aplicaciones e incluso en varios idiomas.

Un marco web de pila completa es agradable porque hace un montón de opciones para ti, lo que te permite prestar atención solo a la aplicación de tu edificio. Pero, las opciones que he enumerado anteriormente son una buena colección para que empieces a construir la tuya. Si recorre esa ruta, le resultará fácil conectar Beaker para el almacenamiento en caché y las sesiones si las necesita, o WebError para ayudarlo con la depuración.

Personalmente, soy un gran fanático de los ORM (particularmente SQLAlchemy ), pero si está buscando ir libre y ligero de ORM, no puede superar la combinación de los excelentes componentes WSGI disponibles en Python.

31
Kevin Dangoor

Dar web.py intentarlo. Es muy simple y puede proporcionar el minimalismo que está buscando.

11
Dimitry Z

Pilones.

Es mucho mejor que Django, y no viene con un ORM horrible.

9
habnabit

La gente ya dio muchas respuestas con respecto a los marcos de aplicaciones web, pero MVC (o cualquier otro paradigma) no está vinculado a la web solamente. Eso es solo por claridad.

Si se trata de MVC simple, Pylons se ajusta al paradigma de una manera más estricta. Django interpreta MVC y lo llaman model-template-view , pero la idea de la separación de roles es la misma. La elección real es una cuestión de gusto personal, aunque ninguno de estos dos lo considero lightweigth (Los pilones pueden parecer más ligeros , pero en realidad no lo son, y recientemente Django acumuló algo de peso adicional, la mayoría es probable que no se ajuste a una aplicación pequeña como un blog personal en una memoria residente de 20MB).

Por supuesto, nada le impedirá escribir su propio marco, por ejemplo. con WebOb . Puedes hacerlo como light como quieras (y aprender muchas cosas intentando).

8
zgoda

pago https://github.com/salimane/bottle-mvc o https://github.com/salimane/flask-mvc . Son placas de calderas que podrían comenzar con los controladores, modelos en carpetas separadas. Se basan en micro marcos de frasco y botella, no tienen características inútiles, le brindan la flexibilidad de conectar los módulos que desee.

Si quieres algo simple, sin tener que crear tu propio framework , aunque aún no estés todo incluido (Django), es posible que desees probar CherryPy . Puede usar casi cualquier dispatcher (sistema de enrutamiento de URL/manejador de página). También tendrías que elegir tu propio motor de plantillas, Genshi es mi favorito.

6
alif

Cuando se trata de aplicaciones de escritorio Dabo es una buena opción. Es un marco multiplataforma sobre wxPython que admite MySql, Postgresql, Firebird y Sqlite.

6
uwe

Quieres web2py. Revisalo:

  • no me importa ORM, solo quiero que funcione con MySQL

Web2py no tiene un ORM, pero tiene un envoltorio sintáctico sobre SQL que hace que sea mucho más fácil hacer el SQL.

  • tiene rutas configurables
  • tiene soporte para diseños

... web2py tiene ambos de estos.

Y web2py es más liviano que Django/Rails/lo que sea en casi todos los aspectos. Es MUY fácil de aprender. Las cosas más difíciles acerca de aprender un marco MVC son los scripts, el ORM y (con Django) el lenguaje de la plantilla. Pero web2py se deshizo de los scripts, simplificó el ORM y el lenguaje de la plantilla es simplemente python de una manera inteligente.

5
toomim

Django!

Google App Engine lo utiliza.

Lo uso también para mis propios proyectos de mascotas.

4
Graviton

Sí, diría que Django es definitivamente el camino a seguir. Su diseño modular garantiza que pueda mezclar y combinar componentes (ORM, motor de plantillas, distribución de URL, ...) En lugar de estar atascado con un componente que el marco le proporciona, puede reemplazarlo con cualquier equivalente de terceros.

4
Gabriel Ross

web2py! 'Django llama a un controlador una vista', dijo nuf.

3
why

Si quieres simplicidad usa web2py o pilones. Django es bueno ... pero la curva de aprendizaje es empinada

3
BasicGuy

Django. No tiene tiene para usar las funciones adicionales, y está bien diseñado para que pueda combinar bibliotecas de terceros según sea necesario.

2
John Millikin

Me gustaría echar un vistazo a Pilones ; Es ligero y rápido.

2
tholo

También estoy en el barco Django. Aquí hay algunas razones por las que:

2
Ross

Soy realmente nuevo en Python, pero probé algunos en silencio, especialmente Django y web2py. Me encantó la simplicidad de web2py, pude crear un sitio de mediana complejidad en unos pocos días. Tiene una serie de características improductivas como DAL, generación de código, HTML hlpers y para mí la característica más importante es que la documentación en el sitio es bastante completa.

2
user10917

Django es mi recomendación.

Puede encontrar una introducción a ella aquí (una charla de Google Tech de Jacob Kaplan-Moss):

Y es posible que también quieras echar un vistazo a la charla de Adrian Holovaty en Snakes and Rubies , DePaul University:

0
Nolan Evans