Álvaro Hurtado Mochón [email_address] @ahm84
Indice : - ¿Qué es? - Sus orígenes - Competencia - Arquitectura - Componentes Principales - Otras - Webs en Django - Bibliografía
¿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*.
¿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.”
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)
Competencia Por una parte los clásicos: PHP, ASP, JSP, PERL, ... Por otra los basados en MVC: Django y Ruby on Rails
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)
Arquitectura Proceso Completo de una petición al servidor.
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
Componentes Básicos Mapeador Objeto-Relacional models.py URL Dispatcher urls.py Vistas views.py Plantillas archivos.html
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.
ORM Definimos el modelo de datos: Creamos la base de datos: %> manage.py sqlall  nombreapp %> manage.py syncdb
URL Dispatcher - Podemos definir explícitamente cuales son válidas -  Usamos expresiones regulares -  Es un sistema algo lioso al principio, pero muy flexible
URL Dispatcher urlpatterns = patterns(‘ ’ , (r’^/$’, ‘ project.miblog.views.index ’), (r’^ (?P<anno>\d+) / (?P<mes>\d+) /$’, ‘ project.miblog.views.archivo ’), )
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
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>
Otras -  Middlewares - Aplicaciones “empotrables” / DRY - Cache - Formularios - Sesiones / Cookies - Usuarios … - Google
WEBs en Django -  http://www.ljworld.com/ -  http://www.torontolife.com/ -  http://dpaste.com/ - h ttp://www.washingtonpost.com/
Bibliografía -  http://docs.djangoproject.com/ -  http://www.django.es/ -  http://es.wikipedia.org/wiki/ Django_web_framework - h ttp://www.djangoproject.com/

Django

  • 1.
    Álvaro Hurtado Mochón[email_address] @ahm84
  • 2.
    Indice : -¿Qué es? - Sus orígenes - Competencia - Arquitectura - Componentes Principales - Otras - Webs en Django - Bibliografía
  • 3.
    ¿Qué es? *ModeloVista 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? Lacomunidad 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 unaparte los clásicos: PHP, ASP, JSP, PERL, ... Por otra los basados en MVC: Django y Ruby on Rails
  • 7.
    Arquitectura La arquitecturade 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)
  • 8.
    Arquitectura Proceso Completode una petición al servidor.
  • 9.
    Mapeador Objeto-Relacional Seocupa 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
  • 10.
    Componentes Básicos MapeadorObjeto-Relacional models.py URL Dispatcher urls.py Vistas views.py Plantillas archivos.html
  • 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 elmodelo 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
  • 14.
    URL Dispatcher urlpatterns= patterns(‘ ’ , (r’^/$’, ‘ project.miblog.views.index ’), (r’^ (?P<anno>\d+) / (?P<mes>\d+) /$’, ‘ project.miblog.views.archivo ’), )
  • 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/
  • 19.
    Bibliografía - http://docs.djangoproject.com/ - http://www.django.es/ - http://es.wikipedia.org/wiki/ Django_web_framework - h ttp://www.djangoproject.com/