2. Indice : - ¿Qué es? - Sus orígenes - Competencia - Arquitectura - Componentes Principales - Otras - Webs en Django - Bibliografía
3. ¿Qué es? *Modelo Vista Controlador: patrón de arquitectura de software que separa datos(modelo), interfaz(vista) y transformaciones del modelo(controlador). Django es un framework de desarrollo web de código abierto, escrito en Python , que cumple en cierta medida el patrón Modelo Vista Controlador*.
4. ¿Qué es? La comunidad Django lo define como “el framework para perfeccionistas con plazo de entrega”. Y añaden: “Django te hace más facil construir mejores aplicaciones web, más rápido y con menos código.”
5. Sus orígenes Fué originalmente desarrollado para administrar varias páginas de noticias para la compañía The World Company. Fué liberado por primera vez en 2005. Y la primera versión estable, 1.00, ha sido liberada en Septiembre de 2008. Filosofía DRY (Don't Repeat Yourself)
6. Competencia Por una parte los clásicos: PHP, ASP, JSP, PERL, ... Por otra los basados en MVC: Django y Ruby on Rails
7. Arquitectura La arquitectura de Django es una variación de MVC. Llamada Modelo Vista Template. Patrón MVC Modelo Controlador Vista vs datos operaciones interfaz Patrón MVT Modelo Vista Plantillas(Templates)
9. Mapeador Objeto-Relacional Se ocupa de la base de datos URL Dispatcher Encauza las peticioines a las vistas Vistas Realiza cambios en BD y presenta los datos Plantillas Genera la Interfaz a partir de los datos Componentes Básicos
11. ORM Permite acceder a datos almacenados en una base de datos relacional con una interfaz Orientada a Objetos. Tablas serán Clases. Tuplas serán Objetos.
12. ORM Definimos el modelo de datos: Creamos la base de datos: %> manage.py sqlall nombreapp %> manage.py syncdb
13. URL Dispatcher - Podemos definir explícitamente cuales son válidas - Usamos expresiones regulares - Es un sistema algo lioso al principio, pero muy flexible
15. Plantillas - Las plantillas son ficheros de texto plano - Se usan para generar ficheros de texto: HTML, xHTML, XML, CSV, JSON... - Dentro de una plantilla se definen partes de texto estático, variables y marcas - Permite herencia entre plantillas
16. Plantillas <html> <head><title> {{ lema_del_blog }} </title></head> <body> {% for a in articulos_portada %} <div class =“articulo”> <h1 class =“titulo_articulo”> {{ a.titulo|escape }} </h1 > <div class=“cuerpo_articulo”> {{ a.texto|escape }} </di v> </di v> {% endfor %} </body>
17. Otras - Middlewares - Aplicaciones “empotrables” / DRY - Cache - Formularios - Sesiones / Cookies - Usuarios … - Google
18. WEBs en Django - http://www.ljworld.com/ - http://www.torontolife.com/ - http://dpaste.com/ - h ttp://www.washingtonpost.com/