Django creció de una necesidad muy práctica: World Online, una operación de periódico en línea, es responsable del desarrollo de aplicaciones web intensivas con plazos de entrega de periodismo. En el entorno frenético de la redacción, World Online a menudo solo tiene horas para pasar una compleja aplicación web desde su concepción hasta su lanzamiento público.
Al mismo tiempo, los desarrolladores de la web de World Online han sido consistentemente perfeccionistas cuando se trata de seguir las mejores prácticas en desarrollo web.
En otoño de 2003, los desarrolladores de World Online (Adrian Holovaty y Simon Willison) abandonaron PHP y comenzaron a utilizar Python para desarrollar sus sitios web. A medida que construían sitios intensivos y rica y interactivamente, como Lawrence.com, comenzaron a extraer un marco de desarrollo web genérico que les permitía construir aplicaciones web cada vez más rápidamente. Ellos ajustaron constantemente este marco, agregando mejoras durante dos años.
En verano de 2005, World Online decidió abrir el código fuente del software resultante, Django. Django no sería posible sin una gran variedad de proyectos de código abierto – Apache, Python y PostgreSQL entre otros – y estamos encantados de poder devolver algo a la comunidad de código abierto.
Django se llama en honor a Django Reinhardt, un guitarrista de jazz manouche de los años treinta hasta principios de la década de 1950. A día de hoy, se le considera uno de los mejores guitarristas de todos los tiempos.
Escucha su música. Te gustará.
Django se pronuncia JANG-oh. Se riman con FANG-oh. El «D» es silencioso.
También hemos grabado un clip de audio de la pronunciación.
Sí, es bastante estable. Compañías como Disqus, Instagram, Pinterest y Mozilla han estado utilizando Django durante muchos años. Los sitios construidos con Django han resistido picos de tráfico de más de 50 mil accesos por segundo.
Sí. En comparación con el tiempo de desarrollo, el hardware es barato, y por lo tanto Django está diseñado para aprovechar al máximo la cantidad de hardware que puedas lanzarle.
Django utiliza una arquitectura de «nothing-shared», lo que significa que puedes agregar hardware en cualquier nivel – servidores de bases de datos, servidores de caché o servidores web/aplicación.
El marco de trabajo separa limpiamente componentes como su capa de base de datos y capa de aplicación. Y viene con un marco de caché sencillo pero potente: `cache framework <topics/cache>`.
Django se desarrolló originalmente en World Online, el departamento de web de un periódico en Lawrence, Kansas, EE. UU. Django ahora está gestionado por un equipo internacional de voluntarios <https://www.djangoproject.com/foundation/teams/>.
Django se distribuye bajo la licencia de 3 cláusulas BSD . Esta es una licencia de código abierto que concede permisos amplios para modificar y redistribuir a Django.
Django incluye código de la biblioteca estándar de Python. Python se distribuye bajo una licencia de código abierto permisiva. Una copia de la licencia de Python se incluye con Django para cumplir con los términos de Python.
BuiltWithDjango.com presenta una lista en constante crecimiento de sitios web impulsados por Django.
Bueno, los nombres estándar son discutibles.
En nuestra interpretación de MVC, la «vista» describe los datos que se presentan al usuario. No es necesariamente cómo se ven los datos, sino qué datos se presentan. La vista describe qué datos ves, no cómo los ves. Es una distinción sutil.
Entonces, en nuestro caso, una «vista» es la función de llamada de Python para una URL específica, porque esa función de llamada describe qué datos se presentan.
Además, es sensato separar el contenido de la presentación —lo que es donde entran en juego las plantillas—. En Django, una «vista» describe qué datos se presentan, pero normalmente delega a una plantilla, que describe cómo se presentan los datos.
¿Dónde encaja el «controlador», entonces? En el caso de Django, probablemente sea el propio marco: la maquinaria que envía una solicitud al view adecuado, según la configuración de URLs de Django.
Si tienes hambre de siglas, podrías decir que Django es un marco de trabajo «MTV» – es decir, «modelo», «plantilla» y «vista». Esa descomposición tiene mucho más sentido.
Al final del día, todo se reduce a hacer cosas. Y, sin importar cómo se denominen las cosas, Django hace que las cosas se hagan de la manera más lógica para nosotros.
Estamos perfectamente al tanto de que existen otros maravillosos frameworks web fuera allí, y no tenemos objeciones a tomar prestadas ideas donde sea apropiado. Sin embargo, Django se desarrolló precisamente porque estábamos insatisfechos con el statu quo, por lo que tenga en cuenta que «porque <Framework X> lo hace» no va a ser una razón suficiente para agregar una característica determinada a Django.
Cuando se escribió originalmente Django, Adrián y Simón pasaron bastante tiempo explorando las diversas bibliotecas de frameworks web de Python disponibles.
Nuestra opinión es que ninguno de ellos estaba completamente a la altura.
Somos exigentes. Incluso podrías llamarnos perfeccionistas. (Con plazos de entrega.)
Con el tiempo, descubrimos bibliotecas de código abierto que hacían cosas que ya habíamos implementado nosotros mismos. Era reconfortante ver a otras personas resolviendo problemas similares de manera similar, pero era demasiado tarde para integrar código externo: Habíamos escrito, probado y implementado nuestros propios bits del marco en varios entornos de producción – y nuestro propio código satisfacía nuestras necesidades encantadoramente.
En la mayoría de los casos, sin embargo, encontramos que las herramientas/existen frameworks tenían inevitablemente algún tipo de defecto fundamental y mortal que nos hacía sentir incómodos. Ninguna herramienta se ajustaba a nuestras filosofías al 100%.
Como dijimos: Somos exigentes.
Hemos documentado nuestras filosofías en la página de filosofías de diseño <misc/design-philosophies>.
No, Django no es un sistema de gestión de contenido (CMS) ni ningún tipo de producto «listo para usar» en sí mismo. Es un marco de trabajo web; es una herramienta de programación que te permite construir sitios web.
Por ejemplo, no tiene mucho sentido comparar a Django con algo como Drupal, porque Django es algo que se utiliza para crear cosas como Drupal.
Sí, el sitio administrativo automático de Django es fantástico y ahorra tiempo – pero el sitio administrativo es solo un módulo del marco de trabajo de Django. Además, aunque Django tiene conveniencias especiales para construir aplicaciones «CMS-y», eso no significa que no sea igualmente apropiado para construir aplicaciones «no CMS-y» (cualquier cosa que eso signifique).
Los documentos de Django están disponibles en el directorio docs de cada liberación de paquete de Django. Estos documentos están en formato reST (reStructuredText) y cada archivo de texto corresponde a una página web del sitio oficial de Django.
Porque la documentación está almacenada en el control de versiones :source: docs<docs>, puedes navegar por los cambios de documentación exactamente como puedes hacerlo con los cambios de código.
Técnicamente, los documentos en el sitio de Django se generan a partir de las últimas versiones de desarrollo de esos documentos reST, por lo que los documentos del sitio de Django pueden ofrecer más información que los documentos que vienen con la última versión de Django.
Es difícil proporcionar un formato de cita oficial, por dos razones: los formatos de cita pueden variar ampliamente entre publicaciones, y las normas de cita para el software aún son objeto de alguna controversia.
Ejemplo: **APA estilo**_ , dictaría algo como:
Django (Version 1.5) [Computer Software]. (2013). Retrieved from https://www.djangoproject.com/.
Sin embargo, la única guía verdadera es lo que aceptará tu editor, así que obtén una copia de esas directrices y rellena los vacíos según puedas.
Si su guía de estilo para referencias requiere un nombre de editor, utilice «Django Software Foundation».
Si necesitas una ubicación para publicar, utiliza «Lawrence, Kansas».
Si necesitas una dirección web, utiliza https://www.djangoproject.com/.
Si necesitas un nombre, úsalo simplemente como «Django», sin ninguna línea publicitaria.
Si necesitas una fecha de publicación, utiliza el año de lanzamiento de la versión a la que te refieres (por ejemplo, 2013 para v1.5).
El Consejo de Dirección mantiene una colección de paquetes terceros de Django, organizaciones y recursos en https://www.djangoproject.com/community/ecosystem/.
Esa página se actualizará para contener enlaces a diversos contenidos de Django como podcasts, videos, conferencias, blogs, libros y recursos de aprendizaje. También incluye paquetes populares, robustos y mantenidos por la comunidad.
may 31, 2026