Vous êtes sur la page 1sur 19

Django

Universidad de Costa Rica


Escuela de Ciencias de la Computación e
Informática
Arquitectura de Software
Hecho por:
Esteban Fuentes A5-----
Álvaro Molina A5-----
Roberto Solano A45143
1
Arquitectura Full Stack
Provee un único conjunto de
componentes, cubriendo todo lo
necesario para desarrollar
aplicaciones web y asegurar que esos
componentes funcionen
correctamente entre sí.

Te da todo lo que ocupas para “crear”


tu aplicación web y en gran medida
casi que te obliga a usarlo. Por
2
Qué es Django?
Un framework “full stack” para
aplicaciones web basado en
Creado por Adrian Holovaty, Simon
Wilson, Jacob Kaplan-Moss y Wilson
Miner para World Online en 2003.
Open source desde 2005
Versión 1.0 salió en setiembre del
2008
Parte de

Aplicaciones:
code.google.com/hosting/ 3
Python
Creador de:

Trabajaen Google
desde 2005

4
Quien usa Python?

5
Por qué usar Python?
Altamente adaptable
   – Los requerimientos cambian
   – Lenguaje altamente flexible
   – Cambios en los entornos computacionales
Desarrollo rápido
– Para los desarrolladores nuevos y los
experimentados
– El mercado se mueve muy rápido, hay
que emparejarse
Lo mas importante: Fácil de mantener
   – Puedes leer tu código de hace un año y
entender rápidamente que es lo que hace
6
Por qué usar un
framework?
URL´s limpias

Componentes con bajo acoplamiento

Diseño amigable de templates

Escribir la menor cantidad de código


posible

Desarrollo realmente rápido


7
Modelo Vista Controlador

8
Ventajas
Es Python.
Es rápido de desarrollar.
Esta pensado para la eficiencia.
Es modular.
Tiene muy bajo acoplamiento.
Genera automáticamente un panel de
administración.
Sus bibliotecas hacen gran parte del
trabajo.
Soporta varias bases de datos
Es MVC.
9
Desventajas
Es Python.

No es tan simple de implantar.

Es mas lento que un framework en un


lenguaje compilado.

No incluye AJAX de serie (todavía).

10
Componentes
Núcleo: maneja la integración con el
web server, mapeo de URL a vista,
errores, configuración, “middleware”.

Modelos: mapeador objeto-relacional,


maneja lógica del dominio.

Vistas:funciones con la lógica de


aplicación.

Plantillas: lógica de presentación. 11


Vista
Ejecutalas operaciones necesarias
para devolver el html al cliente.
Es el encargado de la lógica de
programa.
Hace uso del modelo para extraer los
datos de la base de datos.
Hace uso de las plantillas para
generar el código HTML.
12
Modelo
Define los objetos de nuestra base de
datos.
Permite establecer relaciones entre los
objetos.
Una vez definidos nos permite crearlos
en nuestra base de datos.
Una vez creados nuestros objetos nos
permite acceder a ellos
13
Plantillas
Nos permiten crear la presentación de
los datos.

Genera html a partir de un código


html y una serie de variables y
estructuras simples.

Las plantillas que incluye django


soportan herencia, bucles,
bifurcaciones, variables y filtros.
14
Ejemplo MVC

15
Flujo Request/Response

16
Rails vs Django

17
Opciones de Deployment
Servidor
• Apache(mod_python)
• WSGI
FastCGI/SCGI/Twisted

Base de datos
• PostgreSQL
• MySQL
• SQLite
• MSSQL y Oracle en camino

18
Links sobre Django
http://djangobook.com
http://djangoproject.com/documentati
on/
http://www.django.es [google groups]
http://davidasorey.net/static/django-
tutorial/
Ben Askins and Alan Green.(2007). A
Rails / Django Comparison. The Python
Papers,
Volume 2, Issue 2. Disponible en
19

Vous aimerez peut-être aussi