Sie sind auf Seite 1von 5

Para otros usos de este trmino, vase Django (desambiguacin).

Django

Desarrollador(es)

Django Software Foundation


www.djangoproject.com

Informacin general

ltima versin estable

1.9.4
5 de marzo de 2016

ltima versin en pruebas

1.9.5

Gnero

Framework Web

Programado en

Python

Sistema operativo

Multiplataforma

Licencia

BSD License

En espaol

[editar datos en Wikidata]

Django es un framework de desarrollo web de cdigo abierto, escrito en Python, que respeta
el patrn de diseo conocido como Modelovistacontrolador. Fue desarrollado en origen para
gestionar varias pginas orientadas a noticias de la World Company de Lawrence, Kansas, y

fue liberada al pblico bajo una licencia BSD en julio de 2005; el framework fue nombrado en
alusin al guitarrista de jazz gitano Django Reinhardt.
En junio de 2008 fue anunciado que la recin formada Django Software Foundation se hara
cargo de Django en el futuro.
La meta fundamental de Django es facilitar la creacin de sitios web complejos. Django pone
nfasis en el re-uso, la conectividad y extensibilidad de componentes, el desarrollo rpido y el
principio No te repitas (DRY, del ingls Don't Repeat Yourself). Python es usado en todas las
partes del framework, incluso en configuraciones, archivos, y en los modelos de datos.
ndice
[ocultar]

1Visin general y caractersticas

2Arquitectura
o

2.1Presentacin

2.2Control

2.3Mediator

2.4Entity

2.5Foundation

3Historial de versiones

4Soporte de bases de datos

5Soporte de servidores Web

6Requerimientos

7Otros aspectos
o

7.1Inconsistencias entre la nomenclatura Django y el patrn MVC

7.2Proceso de una Peticin HTTP

7.3Middleware

8Django en la web

9Enlaces externos

Visin general y caractersticas[editar]


Al igual que Ruby on Rails, otro popular framework de cdigo abierto, Django se us en
produccin durante un tiempo antes de que se liberara al pblico; fue desarrollado por Adrian
Holovaty, Simon Willison, Jacob Kaplan-Moss y Wilson Miner mientras trabajaban en World
Online, y originalmente se utiliz para administrar tres sitios web de noticias: The Lawrence
Journal-World, lawrence.com y KUsports.com.
Los orgenes de Django en la administracin de pginas de noticias son evidentes en su
diseo, ya que proporciona una serie de caractersticas que facilitan el desarrollo rpido de
pginas orientadas a contenidos. Por ejemplo, en lugar de requerir que los desarrolladores
escriban controladores y vistas para las reas de administracin de la pgina, Django
proporciona una aplicacin incorporada para administrar los contenidos, que puede incluirse
como parte de cualquier pgina hecha con Django y que puede administrar varias pginas
hechas con Django a partir de una misma instalacin; la aplicacin administrativa permite la
creacin, actualizacin y eliminacin de objetos de contenido, llevando un registro de todas las
acciones realizadas sobre cada uno, y proporciona una interfaz para administrar los usuarios y
los grupos de usuarios (incluyendo una asignacin detallada de permisos).
La distribucin principal de Django tambin aglutina aplicaciones que proporcionan un sistema
de comentarios, herramientas para sindicar contenido via RSS y/o Atom, "pginas planas" que
permiten gestionar pginas de contenido sin necesidad de escribir controladores o vistas para
esas pginas, y un sistema de redireccin de URLs.
Otras caractersticas de Django son:

Un mapeador objeto-relacional.

Aplicaciones "enchufables" que pueden instalarse en cualquier pgina gestionada con


Django.

Una API de base de datos robusta.

Un sistema incorporado de "vistas genricas" que ahorra tener que escribir la lgica de
ciertas tareas comunes.

Un sistema extensible de plantillas basado en etiquetas, con herencia de plantillas.

Un despachador de URLs basado en expresiones regulares.

Un sistema "middleware" para desarrollar caractersticas adicionales; por ejemplo, la


distribucin principal de Django incluye componentes middleware que

proporcionan cacheo, compresin de la salida, normalizacin de URLs, proteccin CSRF y


soporte de sesiones.

Soporte de internacionalizacin, incluyendo traducciones incorporadas de la interfaz


de administracin.

Documentacin incorporada accesible a travs de la aplicacin administrativa


(incluyendo documentacin generada automticamente de los modelos y las bibliotecas
de plantillas aadidas por las aplicaciones).

Arquitectura[editar]
Aunque Django est fuertemente inspirado en la filosofa de desarrollo Modelo Vista
Controlador, sus desarrolladores declaran pblicamente que no se sienten especialmente
atados a observar estrictamente ningn paradigma particular, y en cambio prefieren hacer "lo
que les parece correcto". Como resultado, por ejemplo, lo que se llamara "controlador" en un
"verdadero" framework MVC se llama en Django "vista", y lo que se llamara "vista" se llama
"plantilla".
Gracias al poder de las capas mediator y foundation, Django permite que los desarrolladores
se dediquen a construir los objetos Entity y la lgica de presentacin y control para ellos.

Presentacin[editar]
Aqu se maneja la interaccin entre el usuario y el computador. En Django, sta tarea la
realizan el template engine y el template loader que toman la informacin y la presentan al
usuario (va HTML, por ejemplo). El sistema de configuracin de URLs es tambin parte de la
capa de presentacin...

Control[editar]
En esta capa reside el programa o la lgica de aplicacin en s. En Django son representados
por las views y manipulators. La capa de presentacin depende de sta y a su vez sta lo
hace de la capa de dominio.

Mediator[editar]
Es el encargado de manejar la interaccin entre el subsistema Entity y foundation. Aqu se
realiza el mapeo objeto-relacional a cargo del motor de Django.

Entity[editar]
El subsistema entity maneja los objetos de negocio. El mapeo objeto-relacional de Django
permite escribir objetos de tipo entity de una forma fcil y estndar.

Foundation[editar]

La principal tarea del subsistema foundation es la de manejar a bajo nivel el trabajo con la
base de datos. Se provee soporte a nivel de foundation para varias bases de datos y otras
estn en etapa de prueba.

Historial de versiones[editar]

Das könnte Ihnen auch gefallen