fbpx
Wikipedia

Django (framework)

Django es un framework de desarrollo web de código abierto, escrito en Python, que respeta el patrón de diseño conocido como modelo–vista–controlador (MVC). Fue desarrollado en origen para gestionar varias páginas orientadas a noticias de la World Company de Lawrence, Kansas, y fue liberada al público bajo una licencia BSD en julio de 2005; el framework fue nombrado en alusión al guitarrista de jazz gitano Django Reinhardt.

Django
Información general
Tipo de programa Framework Web
Autor Adrian Holovaty, Simon Willison
Desarrollador Django Software Foundation
Lanzamiento inicial Julio 2005
Licencia BSD License
Información técnica
Programado en Python
Interfaz gráfica predeterminada Web user interface
Versiones
Última versión estable 3.2 (info) 6 de abril de 2021 (6 meses y 22 días)
Última versión en pruebas 26 de diciembre de 2018
Enlaces
Sitio web oficial
Repositorio de código

En junio de 2008 fue anunciado que la recién formada Django Software Foundation se haría cargo de Django en el futuro.

La meta fundamental de Django es facilitar la creación de sitios web complejos. Django pone énfasis en el re-uso, la conectividad y extensibilidad de componentes, el desarrollo rápido y el principio No te repitas (DRY, del inglés Don't Repeat Yourself). Python es usado en todas las partes del framework, incluso en configuraciones, archivos, y en los modelos de datos.

Visión general y características

Al igual que Ruby on Rails, otro popular framework de código abierto, Django se usó en producción durante un tiempo antes de que se liberara al público; 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 orígenes de Django en la administración de páginas de noticias son evidentes en su diseño, ya que proporciona una serie de características que facilitan el desarrollo rápido de páginas orientadas a contenidos. Por ejemplo, en lugar de requerir que los desarrolladores escriban controladores y vistas para las áreas de administración de la página, Django proporciona una aplicación incorporada para administrar los contenidos, que puede incluirse como parte de cualquier página hecha con Django y que puede administrar varias páginas a partir de una misma instalación; la aplicación administrativa permite la creación, actualización y eliminación 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 asignación detallada de permisos).

La distribución principal de Django también aglutina aplicaciones que proporcionan un sistema de comentarios, herramientas para sindicar contenido via RSS y/o Atom, "páginas planas" que permiten gestionar páginas de contenido sin necesidad de escribir controladores o vistas para esas páginas, y un sistema de redirección de URLs.

Otras características de Django son:

  • Un mapeador objeto-relacional.
  • Aplicaciones "enchufables" que pueden instalarse en cualquier página gestionada con Django.
  • Una API de base de datos robusta.
  • Un sistema incorporado de "vistas genéricas" que ahorra tener que escribir la lógica 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 características adicionales; por ejemplo, la distribución principal de Django incluye componentes middleware que proporcionan cacheo, compresión de la salida, normalización de URLs, protección CSRF y soporte de sesiones.
  • Soporte de internacionalización, incluyendo traducciones incorporadas de la interfaz de administración.
  • Documentación incorporada accesible a través de la aplicación administrativa (incluyendo documentación generada automáticamente de los modelos y las bibliotecas de plantillas añadidas por las aplicaciones).

Django también es una plataforma habitual que brinda múltiples herramientas

Arquitectura

Aunque Django está fuertemente inspirado en la filosofía de desarrollo Modelo Vista Controlador, sus desarrolladores declaran públicamente que no se sienten especialmente atados a observar estrictamente ningún paradigma particular, y en cambio prefieren hacer "lo que les parece correcto". Como resultado, por ejemplo, lo que se llamaría "controlador" en un "verdadero" framework MVC se llama en Django "vista", y lo que se llamaría "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 lógica de presentación y control para ellos.

Presentación

Aquí se maneja la interacción entre el usuario y el computador. En Django, esta tarea la realizan el motor de plantillas y el cargador de plantillas que toman la información y la presentan al usuario (vía HTML, por ejemplo). El sistema de configuración de URLs es también parte de la capa de presentación.

Control

En esta capa reside el programa o la lógica de aplicación en sí. En Django son representados por las vistas y los manipuladores. La capa de presentación depende de esta y a su vez esta depende de la capa de dominio.

Mediator

Es el encargado de manejar la interacción entre el subsistema Entity y foundation. Aquí se realiza el mapeo objeto-relacional a cargo del motor de Django.

Entity

El subsistema entity maneja los objetos de negocio. El mapeo objeto-relacional de Django permite escribir objetos de tipo entity de una forma fácil y estándar.

Foundation

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 están en etapa de prueba.

Historial de versiones

Significado
No soportado
Soportado
Versión actual
Versión futura
Versión Fecha Notas
0.90[1] 02005-11-16 16 de noviembre de 2005
0.91[2] 02006-01-11 11 de enero de 2006 "new-administrador"
0.95[3] 02006-07-29 29 de julio de 2006 "magic removal"
0.96[4] 02007-03-23 23 de marzo de 2007 "newforms", herramientas de testeo
1.0[5] 02008-09-03 03 de septiembre de 2008 Estabilidad de la API, administrador desacoplado, unicode
1.1[6] 02009-07-29 29 de julio de 2009 Agregados, testeos basados en transacción
1.2[7] 02010-05-17 17 de mayo de 2010 Múltiples conexiones de bd, CSRF, validación de modelo
1.3[8] 02011-03-23 23 de marzo de 2011 Vistas basadas en clases, archivos estáticos
1.4 LTS [9] 02012-03-23 23 de marzo de 2012 Zonas horarias, pruebas de navegador, plantillas de aplicación. [10]
1.5[11] 02013-02-26 26 de febrero de 2013 Soporte para Python 3, modelo de usuario configurable
1.6[12] 02013-11-06 06 de noviembre de 2013 Dedicado a Malcolm Tredinnick, Administración de transacciones de bd, agrupación de conexiones.
1.7 [13] 02014-09-02 02 de septiembre de 2014 Migraciones, carga de aplicación y configuración.
1.8 LTS[14] 02015-04-01 01 de abril de 2015 Soporte nativo para múltiples motores de plantillas. comunicado de apoyo a largo plazo , soportado hasta por lo menos, abril de 2018
1.9 [15] 02015-12-01 01 de diciembre de 2015 Validación automática de contraseñas. Nuevos estilos para la interfaz de administrador.
1.10 [16] 02017-01-17 17 de enero de 2017 Búsqueda de texto completo para PostgreSQL. Nuevo estilo de middleware para resolver la falta de estricta solicitud / respuesta estratificación del viejo estilo de middleware. Soporte oficial para los nombres de usuario de Unicode.
1.11 [17] 02017-04-01 1 de abril de 2017 Última versión con soporte para Python 2.7. Versión de abril 2020
2.0 [18] 02017-12-01 1 de diciembre de 2017 Primera versión con soporte solo para Python 3.
2.1 [18] 02018-08-01 1 de agosto de 2018 Permiso de "vista" en modelo
2.2 LTS[19] 02019-04-01 1 de abril de 2019 versión de seguridad. Compatible hasta al menos abril de 2022
3.0 [20] 02019-12-02 2 de diciembre de 2019 Soporte ASGI
3.1 [21] 02020-08-04 4 de agosto de 2020 Vistas asincrónicas y middleware
3.2 LTS[22] 02021-04 abril de 2021 Soporte extendido hasta abril de 2024
4.0 [23] 02021-12 diciembre de 2021 Soporte extendido hasta abril de 2023
4.1 [23] 02022-08 agosto de 2022 Soporte extendido hasta diciembre de 2023
4.2 LTS[23] 02023-04 abril de 2023 Soporte extendido hasta abril de 2026

Soporte de bases de datos

Respecto a la base de datos, la recomendada es PostgreSQL, pero también son soportadas MySQL y . Se encuentra en desarrollo un adaptador para Microsoft SQL Server. Una vez creados los modelos de datos, Django proporciona una abstracción de la base de datos a través de su API que permite crear, recuperar, actualizar y borrar objetos. También es posible que el usuario ejecute sus propias consultas SQL directamente. En el modelo de datos de Django, una clase representa un registro de una tabla en la base de datos y las instancias de esta serán las tuplas en la tabla.

Soporte de servidores Web

Como mencionamos en los requisitos, Django incluye un servidor web liviano para realizar pruebas y trabajar en la etapa de desarrollo. En la etapa de producción, sin embargo, se recomienda Apache 2 con mod_python. Aunque Django soporta la especificación WSGI, por lo que puede correr sobre una gran variedad de servidores como FastCGI o SCGI en Apache u otros servidores (particularmente Lighttpd).

Requerimientos

Django requiere Python 2.5 o superior. No se necesitan otras bibliotecas de Python para poder obtener una funcionalidad básica. En un entorno de desarrollo –especialmente si queremos experimentar con Django—no necesitamos un web server instalado, ya que Django trae su propio servidor liviano para este propósito, con la restricción de solo permitir un usuario a la vez.

Base de datos PostgreSQL, MySQL, Oracle o SQLite.

Otros aspectos

Inconsistencias entre la nomenclatura Django y el patrón MVC

Django aparenta implementar el patrón MVC, pero el controlador es llamado vista y la vista template.

Primero, debemos aclarar que al momento de diseñar Django, no se buscó apegarse a nada en particular, sino desarrollar una herramienta que funcione lo mejor posible.

Si bien es cierto que se asemeja mucho a la implementación del patrón MVC, para Django la Vista describe “qué” datos serán presentados y no “cómo” se verán los mismos. Aquí es donde entran en juego los templates, que describen “cómo los datos son presentados”.

Se dice que el “controller” de un MVC clásico está representado por el propio framework. Es decir, el sistema que envía un request a la vista correspondiente, de acuerdo a la configuración de URL de Django (archivo de configuración).

En el caso de querer hacer una correspondencia, entonces diríamos que éste es un framework “MTV”: modelo, template, vista.

Proceso de una Petición HTTP

Teniendo la arquitectura en cuenta, veremos a grandes rasgos como se procesa un request.

Cuando Django recibe una Petición HTTP, lo primero que se hace es crear un instancia de la clase HttpRequest que contiene todas las propiedades de la petición y diferentes métodos útiles.

Luego se realiza la resolución de la URL. Esto consiste en seleccionar la función de la vista (a partir de la URL especificada en la petición HTTP) que participará en la creación de la respuesta de la aplicación.

Una vez que hemos resuelto que función resolverá la URL especificada, se invoca a la función de la vista con la instancia **request** de la petición HTTP como primer parámetro, el método de la vista contiene generalmente todo el trabajo lógico, operaciones como obtener objetos de la base de datos a través de los modelos, cálculos, transformaciones y finalmente la construcción de la representación de la respuesta final al usuario.

Middleware

Django provee tres puntos diferentes en los que permite ejecutar clases middleware, previamente definidas en el archivo de configuración. Una misma clase puede ejecutarse en más de un punto, estas son las opciones:

Request middleware
Se ejecuta después de crear el objeto HttpRequest, pero antes de resolver la URL, permitiendo modificar el objeto request o devolver una respuesta propia antes de que el resto de la aplicación ejecute.
View middleware
Es ejecutado después de la resolución de la URL, pero antes de ejecutar la vista correspondiente. Permite ejecutar operaciones antes y después de la ejecución de la vista. La vista podría llegar a no ejecutarse en absoluto.
Response middleware
Se ejecuta al final, después de que el objeto response haya sido creado y antes de entregarlo al cliente. Utilizado para realizar las modificaciones finales.

Django en la web

Estos son solo algunos de los sitios que utilizan Django, aquí se encuentra una lista más completa

Referencias

  1. "Introduciendo Django 0.90". Django weblog. Extraído el 2 de Febrero de 2013.
  2. "Django 0.91 liberado". Django weblog. Extraído el 2 de Febrero de 2013.
  3. "Introduciendo Django 0.95". Django weblog. Extraído el 2 de Febrero de 2013.
  4. "Anunciando Django 0.96!". Django weblog. Extraído el 2 de Febrero de 2013.
  5. "Django 1.0 liberado!". Django weblog. Extraído el 2 de Febrero de 2013.
  6. "Django 1.1 liberado". Django weblog. Extraído el 2 de Febrero de 2013.
  7. "Django 1.2 liberado". Django weblog. Extraído el 2 de Febrero de 2013.
  8. "Django 1.3 liberado". Django weblog. Extraído el 2 de Febrero de 2013.
  9. "Django 1.4 liberado". Django weblog. Extraído el 2 de Febrero de 2013.
  10. . Archivado desde el original el 6 de marzo de 2016. Consultado el 30 de abril de 2016. 
  11. "Django 1.5 liberado" Django weblog. Extraído el 27 de Febrero de 2013.
  12. "Django 1.6 liberado" Django weblog. Extraído el 6 de Noviembre de 2013.
  13. "Django 1.7 liberado" Django weblog. Extraído el 4 de Setiembre de 2014.
  14. "Django 1.8 liberado" Django weblog. Extraído el 2 de Abril de 2015.
  15. "Django 1.9 liberado" Django weblog. Extraído el 1 de Diciembre de 2015.
  16. "Django 1.10 liberado" Django weblog. Extraído el 17 de Enero de 2017.
  17. "Download Django" Download Django. Extraído el 9 de Diciembre 2016.
  18. "Download Django" Download Django. Retrieved 9 December 2016.
  19. «Django 2.2.3 release notes | Django documentation | Django». docs.djangoproject.com. Consultado el 19 de noviembre de 2020. 
  20. «Django 3.0 release notes | Django documentation | Django». docs.djangoproject.com. Consultado el 19 de noviembre de 2020. 
  21. «Django 3.1 release notes | Django documentation | Django». docs.djangoproject.com. Consultado el 19 de noviembre de 2020. 
  22. «Django 3.2 release notes - UNDER DEVELOPMENT | Django documentation | Django». docs.djangoproject.com. Consultado el 19 de noviembre de 2020. 
  23. «Download Django | Django». www.djangoproject.com. Consultado el 19 de noviembre de 2020. 
  24. «El co-fundador Paul Sciarra responde que usan Django extensamente». 
  25. «Anuncio de trabajo donde afirman que ellos mantienen, promocionan y usan activamente Django como plataforma de desarrollo para sus aplicaciones». 
  26. «En la sección de Preguntas frecuentes responden Django a la pregunta "¿Que tecnologías usan?"». 

Enlaces externos

  • Proyecto Django
  • Instalador de Django
  • Grupo LinkedIn Django en Latinoamérica
  • Wiki de la comunidad de Django y repositorio del código
  • Comunidad en español de Django el 19 de diciembre de 2008 en Wayback Machine.
  • Planet de Django en español el 21 de julio de 2009 en Wayback Machine.
  • Django Software Foundation
  • Libros sobre Django el 19 de diciembre de 2008 en Wayback Machine.
  • Sobre la arquitectura de Django
  • The Django Book
  • Github
  • Manejo de Dashboards a partir de Django Plotly Dash
  •   Datos: Q842014
  •   Multimedia: Django (web framework)

django, framework, django, framework, desarrollo, código, abierto, escrito, python, respeta, patrón, diseño, conocido, como, modelo, vista, controlador, desarrollado, origen, para, gestionar, varias, páginas, orientadas, noticias, world, company, lawrence, kan. Django es un framework de desarrollo web de codigo abierto escrito en Python que respeta el patron de diseno conocido como modelo vista controlador MVC Fue desarrollado en origen para gestionar varias paginas orientadas a noticias de la World Company de Lawrence Kansas y fue liberada al publico bajo una licencia BSD en julio de 2005 el framework fue nombrado en alusion al guitarrista de jazz gitano Django Reinhardt DjangoInformacion generalTipo de programaFramework WebAutorAdrian Holovaty Simon WillisonDesarrolladorDjango Software FoundationLanzamiento inicialJulio 2005LicenciaBSD LicenseInformacion tecnicaProgramado enPythonInterfaz grafica predeterminadaWeb user interfaceVersionesUltima version estable3 2 info 6 de abril de 2021 6 meses y 22 dias Ultima version en pruebas26 de diciembre de 2018EnlacesSitio web oficial Repositorio de codigo editar datos en Wikidata En junio de 2008 fue anunciado que la recien formada Django Software Foundation se haria cargo de Django en el futuro La meta fundamental de Django es facilitar la creacion de sitios web complejos Django pone enfasis en el re uso la conectividad y extensibilidad de componentes el desarrollo rapido y el principio No te repitas DRY del ingles Don t Repeat Yourself Python es usado en todas las partes del framework incluso en configuraciones archivos y en los modelos de datos Indice 1 Vision general y caracteristicas 2 Arquitectura 2 1 Presentacion 2 2 Control 2 3 Mediator 2 4 Entity 2 5 Foundation 3 Historial de versiones 4 Soporte de bases de datos 5 Soporte de servidores Web 6 Requerimientos 7 Otros aspectos 7 1 Inconsistencias entre la nomenclatura Django y el patron MVC 7 2 Proceso de una Peticion HTTP 7 3 Middleware 8 Django en la web 9 Referencias 10 Enlaces externosVision general y caracteristicas EditarAl igual que Ruby on Rails otro popular framework de codigo abierto Django se uso en produccion durante un tiempo antes de que se liberara al publico fue desarrollado por Adrian Holovaty Simon Willison Jacob Kaplan Moss y Wilson Miner mientras trabajaban en World Online y originalmente se utilizo para administrar tres sitios web de noticias The Lawrence Journal World lawrence com y KUsports com Los origenes de Django en la administracion de paginas de noticias son evidentes en su diseno ya que proporciona una serie de caracteristicas que facilitan el desarrollo rapido de paginas orientadas a contenidos Por ejemplo en lugar de requerir que los desarrolladores escriban controladores y vistas para las areas de administracion de la pagina Django proporciona una aplicacion incorporada para administrar los contenidos que puede incluirse como parte de cualquier pagina hecha con Django y que puede administrar varias paginas a partir de una misma instalacion la aplicacion administrativa permite la creacion actualizacion y eliminacion 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 asignacion detallada de permisos La distribucion principal de Django tambien aglutina aplicaciones que proporcionan un sistema de comentarios herramientas para sindicar contenido via RSS y o Atom paginas planas que permiten gestionar paginas de contenido sin necesidad de escribir controladores o vistas para esas paginas y un sistema de redireccion de URLs Otras caracteristicas de Django son Un mapeador objeto relacional Aplicaciones enchufables que pueden instalarse en cualquier pagina gestionada con Django Una API de base de datos robusta Un sistema incorporado de vistas genericas que ahorra tener que escribir la logica 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 caracteristicas adicionales por ejemplo la distribucion principal de Django incluye componentes middleware que proporcionan cacheo compresion de la salida normalizacion de URLs proteccion CSRF y soporte de sesiones Soporte de internacionalizacion incluyendo traducciones incorporadas de la interfaz de administracion Documentacion incorporada accesible a traves de la aplicacion administrativa incluyendo documentacion generada automaticamente de los modelos y las bibliotecas de plantillas anadidas por las aplicaciones Django tambien es una plataforma habitual que brinda multiples herramientasArquitectura EditarAunque Django esta fuertemente inspirado en la filosofia de desarrollo Modelo Vista Controlador sus desarrolladores declaran publicamente que no se sienten especialmente atados a observar estrictamente ningun paradigma particular y en cambio prefieren hacer lo que les parece correcto Como resultado por ejemplo lo que se llamaria controlador en un verdadero framework MVC se llama en Django vista y lo que se llamaria 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 logica de presentacion y control para ellos Presentacion Editar Aqui se maneja la interaccion entre el usuario y el computador En Django esta tarea la realizan el motor de plantillas y el cargador de plantillas que toman la informacion y la presentan al usuario via HTML por ejemplo El sistema de configuracion de URLs es tambien parte de la capa de presentacion Control Editar En esta capa reside el programa o la logica de aplicacion en si En Django son representados por las vistas y los manipuladores La capa de presentacion depende de esta y a su vez esta depende de la capa de dominio Mediator Editar Es el encargado de manejar la interaccion entre el subsistema Entity y foundation Aqui 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 facil y estandar 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 estan en etapa de prueba Historial de versiones EditarSignificadoNo soportadoSoportadoVersion actualVersion futuraVersion Fecha Notas0 90 1 02005 11 16 16 de noviembre de 20050 91 2 02006 01 11 11 de enero de 2006 new administrador 0 95 3 02006 07 29 29 de julio de 2006 magic removal 0 96 4 02007 03 23 23 de marzo de 2007 newforms herramientas de testeo1 0 5 02008 09 03 03 de septiembre de 2008 Estabilidad de la API administrador desacoplado unicode1 1 6 02009 07 29 29 de julio de 2009 Agregados testeos basados en transaccion1 2 7 02010 05 17 17 de mayo de 2010 Multiples conexiones de bd CSRF validacion de modelo1 3 8 02011 03 23 23 de marzo de 2011 Vistas basadas en clases archivos estaticos1 4 LTS 9 02012 03 23 23 de marzo de 2012 Zonas horarias pruebas de navegador plantillas de aplicacion 10 1 5 11 02013 02 26 26 de febrero de 2013 Soporte para Python 3 modelo de usuario configurable1 6 12 02013 11 06 06 de noviembre de 2013 Dedicado a Malcolm Tredinnick Administracion de transacciones de bd agrupacion de conexiones 1 7 13 02014 09 02 02 de septiembre de 2014 Migraciones carga de aplicacion y configuracion 1 8 LTS 14 02015 04 01 01 de abril de 2015 Soporte nativo para multiples motores de plantillas comunicado de apoyo a largo plazo soportado hasta por lo menos abril de 20181 9 15 02015 12 01 01 de diciembre de 2015 Validacion automatica de contrasenas Nuevos estilos para la interfaz de administrador 1 10 16 02017 01 17 17 de enero de 2017 Busqueda de texto completo para PostgreSQL Nuevo estilo de middleware para resolver la falta de estricta solicitud respuesta estratificacion del viejo estilo de middleware Soporte oficial para los nombres de usuario de Unicode 1 11 17 02017 04 01 1 de abril de 2017 Ultima version con soporte para Python 2 7 Version de abril 20202 0 18 02017 12 01 1 de diciembre de 2017 Primera version con soporte solo para Python 3 2 1 18 02018 08 01 1 de agosto de 2018 Permiso de vista en modelo2 2 LTS 19 02019 04 01 1 de abril de 2019 version de seguridad Compatible hasta al menos abril de 20223 0 20 02019 12 02 2 de diciembre de 2019 Soporte ASGI3 1 21 02020 08 04 4 de agosto de 2020 Vistas asincronicas y middleware3 2 LTS 22 02021 04 abril de 2021 Soporte extendido hasta abril de 20244 0 23 02021 12 diciembre de 2021 Soporte extendido hasta abril de 20234 1 23 02022 08 agosto de 2022 Soporte extendido hasta diciembre de 20234 2 LTS 23 02023 04 abril de 2023 Soporte extendido hasta abril de 2026Soporte de bases de datos EditarRespecto a la base de datos la recomendada es PostgreSQL pero tambien son soportadas MySQL y SQLite 3 Se encuentra en desarrollo un adaptador para Microsoft SQL Server Una vez creados los modelos de datos Django proporciona una abstraccion de la base de datos a traves de su API que permite crear recuperar actualizar y borrar objetos Tambien es posible que el usuario ejecute sus propias consultas SQL directamente En el modelo de datos de Django una clase representa un registro de una tabla en la base de datos y las instancias de esta seran las tuplas en la tabla Soporte de servidores Web EditarComo mencionamos en los requisitos Django incluye un servidor web liviano para realizar pruebas y trabajar en la etapa de desarrollo En la etapa de produccion sin embargo se recomienda Apache 2 con mod python Aunque Django soporta la especificacion WSGI por lo que puede correr sobre una gran variedad de servidores como FastCGI o SCGI en Apache u otros servidores particularmente Lighttpd Requerimientos EditarDjango requiere Python 2 5 o superior No se necesitan otras bibliotecas de Python para poder obtener una funcionalidad basica En un entorno de desarrollo especialmente si queremos experimentar con Django no necesitamos un web server instalado ya que Django trae su propio servidor liviano para este proposito con la restriccion de solo permitir un usuario a la vez Base de datos PostgreSQL MySQL Oracle o SQLite Otros aspectos EditarInconsistencias entre la nomenclatura Django y el patron MVC Editar Django aparenta implementar el patron MVC pero el controlador es llamado vista y la vista template Primero debemos aclarar que al momento de disenar Django no se busco apegarse a nada en particular sino desarrollar una herramienta que funcione lo mejor posible Si bien es cierto que se asemeja mucho a la implementacion del patron MVC para Django la Vista describe que datos seran presentados y no como se veran los mismos Aqui es donde entran en juego los templates que describen como los datos son presentados Se dice que el controller de un MVC clasico esta representado por el propio framework Es decir el sistema que envia un request a la vista correspondiente de acuerdo a la configuracion de URL de Django archivo de configuracion En el caso de querer hacer una correspondencia entonces diriamos que este es un framework MTV modelo template vista Proceso de una Peticion HTTP Editar Teniendo la arquitectura en cuenta veremos a grandes rasgos como se procesa un request Cuando Django recibe una Peticion HTTP lo primero que se hace es crear un instancia de la clase HttpRequest que contiene todas las propiedades de la peticion y diferentes metodos utiles Luego se realiza la resolucion de la URL Esto consiste en seleccionar la funcion de la vista a partir de la URL especificada en la peticion HTTP que participara en la creacion de la respuesta de la aplicacion Una vez que hemos resuelto que funcion resolvera la URL especificada se invoca a la funcion de la vista con la instancia request de la peticion HTTP como primer parametro el metodo de la vista contiene generalmente todo el trabajo logico operaciones como obtener objetos de la base de datos a traves de los modelos calculos transformaciones y finalmente la construccion de la representacion de la respuesta final al usuario Middleware Editar Django provee tres puntos diferentes en los que permite ejecutar clases middleware previamente definidas en el archivo de configuracion Una misma clase puede ejecutarse en mas de un punto estas son las opciones Request middleware Se ejecuta despues de crear el objeto HttpRequest pero antes de resolver la URL permitiendo modificar el objeto request o devolver una respuesta propia antes de que el resto de la aplicacion ejecute View middleware Es ejecutado despues de la resolucion de la URL pero antes de ejecutar la vista correspondiente Permite ejecutar operaciones antes y despues de la ejecucion de la vista La vista podria llegar a no ejecutarse en absoluto Response middleware Se ejecuta al final despues de que el objeto response haya sido creado y antes de entregarlo al cliente Utilizado para realizar las modificaciones finales Django en la web EditarEstos son solo algunos de los sitios que utilizan Django aqui se encuentra una lista mas completa Pinterest 24 http www lawrence com 25 https web archive org web 20070609122443 http www chicagocrime org 26 http www ljworld com http projects washingtonpost com congress http www torontolife com http www lawrencechamber com Referencias Editar Introduciendo Django 0 90 Django weblog Extraido el 2 de Febrero de 2013 Django 0 91 liberado Django weblog Extraido el 2 de Febrero de 2013 Introduciendo Django 0 95 Django weblog Extraido el 2 de Febrero de 2013 Anunciando Django 0 96 Django weblog Extraido el 2 de Febrero de 2013 Django 1 0 liberado Django weblog Extraido el 2 de Febrero de 2013 Django 1 1 liberado Django weblog Extraido el 2 de Febrero de 2013 Django 1 2 liberado Django weblog Extraido el 2 de Febrero de 2013 Django 1 3 liberado Django weblog Extraido el 2 de Febrero de 2013 Django 1 4 liberado Django weblog Extraido el 2 de Febrero de 2013 Django s proceso de liberacion documentacion Django Django Archivado desde el original el 6 de marzo de 2016 Consultado el 30 de abril de 2016 Django 1 5 liberado Django weblog Extraido el 27 de Febrero de 2013 Django 1 6 liberado Django weblog Extraido el 6 de Noviembre de 2013 Django 1 7 liberado Django weblog Extraido el 4 de Setiembre de 2014 Django 1 8 liberado Django weblog Extraido el 2 de Abril de 2015 Django 1 9 liberado Django weblog Extraido el 1 de Diciembre de 2015 Django 1 10 liberado Django weblog Extraido el 17 de Enero de 2017 Download Django Download Django Extraido el 9 de Diciembre 2016 a b Download Django Download Django Retrieved 9 December 2016 Django 2 2 3 release notes Django documentation Django docs djangoproject com Consultado el 19 de noviembre de 2020 Django 3 0 release notes Django documentation Django docs djangoproject com Consultado el 19 de noviembre de 2020 Django 3 1 release notes Django documentation Django docs djangoproject com Consultado el 19 de noviembre de 2020 Django 3 2 release notes UNDER DEVELOPMENT Django documentation Django docs djangoproject com Consultado el 19 de noviembre de 2020 a b c Download Django Django www djangoproject com Consultado el 19 de noviembre de 2020 El co fundador Paul Sciarra responde que usan Django extensamente Anuncio de trabajo donde afirman que ellos mantienen promocionan y usan activamente Django como plataforma de desarrollo para sus aplicaciones En la seccion de Preguntas frecuentes responden Django a la pregunta Que tecnologias usan Enlaces externos EditarProyecto Django Instalador de Django Grupo LinkedIn Django en Latinoamerica Wiki de la comunidad de Django y repositorio del codigo Comunidad en espanol de Django Archivado el 19 de diciembre de 2008 en Wayback Machine Planet de Django en espanol Archivado el 21 de julio de 2009 en Wayback Machine Django Software Foundation Libros sobre Django Archivado el 19 de diciembre de 2008 en Wayback Machine Django Search Engine Sobre la arquitectura de Django Biografia de Django Reinhardt de quien proviene el nombre del framework The Django Book Github Manejo de Dashboards a partir de Django Plotly Dash Datos Q842014 Multimedia Django web framework Obtenido de https es wikipedia org w index php title Django framework amp oldid 137014861, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos