Django: Don’t Repeat Yourself
Django es un framework para desarrollo web de código abierto, escrito en el lenguaje Python, que se basa en el paradigma del Modelo Vista Controlador (MVC) de una manera un tanto peculiar.
Su meta fundamental es facilitar la creación de sitios webs con una complejidad media/alta. Hace hincapié en el re-uso, la conectividad y la extensibilidad de componentes (módulos, para que nos entendamos), el desarrollo rápido y sobre todo, en el principio DRY: Don’t Repeat Yourself (también conocido como Once and Only Once) que creo que no hace falta explicar lo que significa. Django usa Python para todo, tanto en configuraciones como en archivos o en modelos de datos.
Como hemos dicho, Django usa una versión particular del MVC, ya que al Controlador, lo llama Vista, y a la Vista, Plantilla. ¿Por qué?
La respuesta es sencilla, porque Django no se desarrolló para seguir este modelo, pero (casualmente) lo implemente casi a la perfección. Para Django la Vista no es «cómo» se representan los datos, sino «qué» datos se representa. El «cómo» es trabajo de las Plantillas. El trabajo del Controlador lo realiza el mismo framework, ya que es el encargado de procesar las peticiones y los eventos que se producen.
Más características de Django son:
- Soporte para base de datos (mapeador objeto-relacional y API)
- Soporte para PostgreSQL, MySQL, Oracle o SQLite.
- Aplicaciones independientes del proyecto que pueden instalarse en cualquier web con Django.
- Un sistema incorporado de «vistas genéricas» que ahorra mucho trabajo.
- Un sistema de plantillas basado en etiquetas.
- Un dispensador de URL basado en expresiones regulares.
- Un middleware para caché, sesiones y protección de datos.
- Soporte de internacionalización.
- Sistema de documentación incorporada.
Comentar por último que a la hora de hacerlo correr en un servidor web, se recomienda usar Apache 2 con mod_python.
Postdata: Os dejo direcciones por si queréis informaros más:
- Django Proyect
- Django Proyect – Download
- Django Proyect – Documentation
- Django en español (por si tenéis dificultades con el inglés)