Qué es Django y por qué sigue siendo una gran decisión
Publicado el 2026-09-12 por frfrand
Un framework que trae todo resuelto: ORM, migraciones, panel de administración y seguridad por defecto. Qué gana y qué cuesta elegirlo, y en qué casos conviene otra cosa.

Django es un framework web de Python que nació en 2005 en la redacción de un diario, para publicar noticias rápido. Esa herencia explica bastante su carácter: está armado para que un equipo chico saque algo completo al aire sin discutir cada pieza.
La filosofía: baterías incluidas
Hay dos escuelas de frameworks. Una te da lo mínimo y vos elegís cada componente. La otra te da todo decidido y vos escribís tu aplicación encima.
Django es claramente de la segunda. Trae el ORM, las migraciones, la autenticación, el sistema de permisos, el panel de administración, las plantillas, la validación de formularios y un montón de protecciones de seguridad activadas por defecto.
Eso significa menos libertad en decisiones que, siendo honestos, la mayoría de los proyectos no necesita tomar. Y significa que el proyecto que empezaste hoy se va a parecer al de otra persona, lo cual es una ventaja enorme cuando alguien nuevo entra al equipo.
Lo que realmente ahorra tiempo
El ORM. Describís tus datos como clases de Python y Django habla con la base por vos. No escribís SQL para lo común, aunque podés cuando hace falta.
Las migraciones. Cambiás un modelo, corrés un comando y Django genera el archivo que actualiza la base. Ese archivo se versiona con el código, así que la base de producción y la de tu compañero terminan iguales. Es una de las cosas mejor resueltas del ecosistema.
El panel de administración. Esta es la que más sorprende a quien viene de otro lado. A partir de tus modelos, Django genera un back office funcional: listar, buscar, filtrar, crear, editar, con permisos por usuario.
No es para usuarios finales, es para que el equipo administre datos sin construir pantallas. Muchos proyectos sobreviven meses con ese panel como única interfaz interna.
La seguridad por defecto. Protección contra CSRF, escapado automático en las plantillas para evitar inyección de HTML, consultas parametrizadas que evitan inyección SQL, hashing de contraseñas hecho bien. Todo encendido de entrada. Es difícil exagerar cuánto vale esto en un proyecto que no tiene a alguien dedicado a seguridad.
Lo que cuesta
Es opinionado. Si querés armar las cosas a tu manera, vas a pelearte. La forma correcta de trabajar con Django es aceptar sus convenciones.
El ORM esconde el SQL. Es cómodo hasta que una consulta se pone lenta. El problema clásico es el N+1: recorrés una lista y por cada elemento se dispara otra consulta. Se arregla con select_related y prefetch_related, pero primero hay que darse cuenta, y para eso hay que saber mirar el SQL que genera.
Es síncrono por tradición. Django tiene soporte asíncrono desde hace varias versiones, pero buena parte del ecosistema sigue pensada en sincrónico. Para miles de conexiones abiertas al mismo tiempo (websockets, por ejemplo) hay herramientas más naturales.
Cuándo elegirlo
Encaja muy bien cuando hay un modelo de datos con relaciones reales, cuando hace falta un panel de administración, cuando el equipo es chico y cuando el proyecto va a durar. Es el caso de la mayoría de las aplicaciones de negocio.
Encaja peor si lo que hacés es una API mínima de dos endpoints, si el corazón del sistema es tiempo real, o si no vas a usar base de datos relacional.
Cómo se pone en producción
Django no se sirve solo. El esquema estándar son tres piezas: nginx adelante como proxy inverso, un servidor de aplicación (Gunicorn o uWSGI) corriendo tu código, y Django adentro.
Y una advertencia que vale por todo el artículo: DEBUG en False en producción. Con DEBUG activado, cualquier error muestra al visitante el rastro completo, con rutas, configuración y fragmentos de código. Es la fuga de información más común de todo el ecosistema.
En ArduMaker un proyecto Django se despliega desde GitHub como cualquier otro repositorio: build en el servidor, servicio systemd para Gunicorn y nginx con el dominio y el certificado ya resueltos.