Entonces, ¿qué es Django?
Muchas personas al oír “Django” pensarán en la película de Tarantino donde un dentista alemán y cazador de recompensas, el doctor King Schultz consigue liberar al esclavo Django (interpretado por Jamie Foxx) y se vale de él para encontrar a los criminales más buscados del Sur, convirtiéndole en un cazarrecompensas.
Pero Django existe desde antes de ese rodaje y es que Django es un framework de alto nivel de desarrollo web, open source que se ajusta en gran medida al conocido patrón de diseño MVC (Modelo Vista Plantilla).
El objetivo de Django es facilitar la creación de sitios web complejos, lo cual también es una ventaja. Por ejemplo, es posible iniciar un proyecto con tan sólo 5 archivos.
Otra de sus grandes ventajas es que está escrito en Python, un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible, permitiendo el desarrollo rápido de sitios web seguros y mantenibles.
El origen de Django
Fue desarrollado inicialmente entre 2003 y 2005 por un equipo que se dedicaba a crear y mantener sitios web de periódicos. Después de crear varios sitios, el equipo empezó a tener en cuenta y reutilizar mucho código y patrones de diseño comunes. Este código común se convirtió en un framework web genérico de código abierto, conocido como proyecto «Django» en julio de 2005.
¿Por qué usar Django?
Estas son las características que hacen de Django una buena opción para el desarrollo web.
- Es completo, ya que sigue la filosofía “Baterías incluidas” y provee al desarrollador con casi todo lo necesario nada más iniciar el proyecto. Entre otras cosas, trae de serie un panel de administración, con el cual podemos manejar datos importantes de una forma muy cómoda y sencilla.
- Es versátil y permite construir casi cualquier sitio web, desde sistemas manejadores, redes sociales, sitios de noticias, APIs… Además, puede funcionar con cualquier framework en el lado del cliente, y puede devolver contenido en casi cualquier formato como RSS, JSON, XML, HTML…
- Es seguro porque está diseñado para cumplir siempre un diseño correcto para proteger el sitio web de forma automática. Por ejemplo, proporciona una manera segura de administrar cuentas de usuario y contraseñas, evitando errores. Además, ofrece protección contra vulnerabilidades a la base de datos como inyección de SQL, scripts entre sitios, clickjacking…
- Es escalable: usa un componente basado en la arquitectura “shared-nothing” (cada parte de la arquitectura es independiente de las otras)
- Es mantenible: el código de Django está escrito usando principios y patrones de diseño para fomentar la creación de código mantenible y reutilizable
- Es portable porque al estar escrito en Python, el cual se puede ejecutar en muchas plataformas como Linux, Windows y Mac OS
- Tiene una comunidad próspera y activa, una gran documentación y muchas opciones de soporte gratuito y de pago. Además, Django cuenta con el respaldo de muchos proveedores de alojamiento web
- La herramienta ORM te ayuda a realizar SQL, sin necesidad de utilizar el lenguaje SQL, lo que se llama interfaz para acceso a la base de datos
Veamos un ejemplo a continuación como seria mediante una SQL normal o con el ORM de Django:
Consulta sin ORM | Consulta con ORM |
SELECT * FROM “autores_autor” INNER JOIN “autor_libro” ON (“autores_autor”.”id” = “autores_libro”.”autor_id”)
INNER JOIN “autores_libro_librerias” ON (“autores_libro”.”id” = “autores_libro_librerias”.”libro_id”) INNER JOIN “autores_libreria” ON (“autores_libro_librerias”.”libreria_id” = “autores_libreria”.”id”) WHERE “autores_libreria”.”nombre” = “La Cultura” |
Autor.objects.filter(libros__libreria__nombre = “La Cultura”) |
¿Empezamos con Django?
Si después de leer el artículo necesitas construir una web, Django puede ser la solución. ¿No sabes cómo empezar? ¡En Sothis te podemos ayudar!