Sunteți pe pagina 1din 7

UNIVERSIDAD ANDINA DEL CUSCO

FACULTAD DE INGENIERA
CARRERA PROFESIONAL DE INGENIERA DE SISTEMAS

Ingeniera de la Informacin II

Trabajo de Investigacin DJANGO

Docente:

Ing. ESPETIA HUAMANGA Hugo

Integrante:

CUPI QQUELLON, Jhosimar Edson.


VELAZCO, Euler
BOBADILLA GUTIERREZ, Marco
VELAsQUEZ CERECEDA, Jhoel

Cusco, Mayo 2013

DJANGO

1. Qu es DJANGO?:
Son un conjunto de bibliotecas y herramientas que nos permite crear sitios
web. Como ya se deben imaginar, est hecho en Python y por tanto tambin ser
Python (con todas sus bondades) el lenguaje que utilicemos para crear nuestros
sitios.
Django es software libre, con lo que tenemos acceso a su cdigo fuente
para aprender, entender, ayudar a mejorarlo, etc. Y adems goza de una
comunidad muy grande y activa, lo que ayuda a que se mantenga actualizado, se
detecten y corrijan sus errores, tenga documentacin actualizada y detallada, y
algunas otras ventajas que despus vamos a ver (spoiler: muchas aplicaciones
tiles ya hechas).

Adems, es bueno saber que Django tiene una filosofa muy definida,
influenciada por el ambiente donde naci. Los creadores originales de Django
trabajaban haciendo sitios para empresas de noticias, donde muchas veces se
requeran cambios en cuestiones de das o horas. Y como se trataba de un grupo
de desarrolladores "perfeccionistas", el desafo era llegar a las apretadas fechas
de entrega pero escribiendo cdigo de manera correcta, y no haciendo
"chanchadas" para que las cosas salieran rpido.
De all que se dice que Django es "el framework web para perfeccionistas
con fechas de entrega". Django espera facilitarnos la tarea de desarrollo, pero
ayudndonos a la vez a escribir buen cdigo.
Y finalmente es un framework que intenta ser flexible, no interponindose
entre el desarrollador y lo que quiere conseguir. Por ello es muy sencillo
reemplazar algunas partes que no nos gustan de Django, con otras que nos
gusten o sirvan ms.
2. Arquitectura:
Para nuestras aplicaciones Django nos propone seguir la arquitectura MVC
("Modelo-Vista-Controlador"). Para quienes no lo hayan escuchado antes, MVC no
es un invento de Django, sino una arquitectura bien difundida que nos propone
separar nuestras aplicaciones en tres partes:

Los Modelos: la parte de nuestra aplicacin que define la


estructura de la base de datos y se encarga de la comunicacin
con ella.
Las Vistas: la interfaz del usuario, con el cdigo que elije qu
datos pedirle o mostrarle en cada momento.

Los Controladores: la parte de la aplicacin que elije qu vistas


ejecutar en respuesta a las acciones o peticiones del usuario.

Los modelos van a ser clases que representen las cosas que queremos
almacenar en la base de datos. Ejemplo: clase Cliente, clase Noticia, etc.
Las vistas van a ser funciones normales de Python, que van a devolver el
contenido que debe ser entregado al usuario (pgina web, imagen, etc.). Ejemplo:
la vista "pagina_de_inicio".
Y para los controladores, nosotros slo vamos a tener que definir qu
funcin (vista) debe ser llamada para cada url. Ejemplo: "cuando el usuario pida la
url http://misitio.com/inicio/, ejecutar la vista pagina_de_inicio".
3. Herramientas:
Django se encarga en gran parte de los controladores, y nos provee de
herramientas para facilitarnos el desarrollo de las vistas y los modelos.

La primear herramienta que nos da Django es un ORM (un "mapeador


objeto-relacional"). El ORM va a ser el que nos permita interactuar con la base de
datos, y por lo tanto va a ser una de las dos cosas que ms vamos a usar
comnmente (as que presten atencin, esto es como esos temas que seguro
entran en el examen).
Como nosotros programamos con orientacin a objetos, lo que vamos a
definir y usar son clases. Y como las bases de datos ms comunes son
relacionales, Django se va a encargar de traducir nuestras operaciones sobre
objetos, en sentencias SQL que se van a ejecutar sobre tablas de la base de
datos.

Por ejemplo: definimos nuestra clase Usuario, con varias propiedades


(nombre, direccin, email, etc.). Luego podemos hacer cosas como crear
instancias de Usuario, ingresar valores en sus propiedades, y decirle "guardado", y
Django auto mgicamente va a armar una sentencia SQL de insert o update segn
necesite, y la va a ejecutar en la base de datos.

4. DJANGO promueve el desarrollo rpido:


A pesar de lo potentes que sean sus caractersticas, un framework web
carece de valor si no consigue ahorrarle tiempo. La filosofa de Django es hacer
todo lo posible por facilitar el desarrollo hper rpido. Con Django se construyen
sitios web en cuestin de horas, no das; semanas, no aos.
Esto es en gran parte posible gracias al propio Python. Oh, Python, cunto
te amamos, contemos tus puntos importantes:

Python es un lenguaje interpretado, lo que quiere decir que no hace falta


compilar el cdigo. Slo hay que escribir el programa y ejecutarlo. En el
desarrollo web, esto significa que se puede desarrollar cdigo y ver los
resultados inmediatamente dndole a "recargar" en el navegador web.
Python tiene tipado dinmico, lo que quiere decir que no hace falta
preocuparse de declarar los tipos de datos de las variables.
La sintaxis de Python es concisa pero expresiva, lo que quiere decir que
hace falta menos cdigo para llevar a cabo una tarea que en otros
lenguajes ms verbosos como Java. Una lnea de Python suele equivaler a
10 lneas de Java. (Esto tiene un oportuno beneficio colateral: menos lneas
de cdigo significan menos bugs.)
Python ofrece medios poderosos de introspeccin y meta programacin que
hacen posible inspeccionar y modificar el comportamiento de los objetos en
tiempo de ejecucin.

Ms all de las ventajas en productividad inherentes a Python, el propio


Django hace todo lo posible para fomentar el desarrollo rpido. Todas las partes
del framework se disearon con la productividad en mente. Veremos ejemplos a lo
largo de este libro.
5. DJANGO y el diseo limpio y pragmtico:

Finalmente, Django mantiene de forma rigurosa un diseo limpio en su


propio cdigo, y facilita que el programador siga las mejores prcticas de
desarrollo web en las aplicaciones que crea.
Esto significa que, si pensamos que Django es un coche, sera un elegante
coche deportivo, capaz no slo de alcanzar grandes velocidades y atacar curvas
cerradas, sino tambin de ofrecer una excelente autonoma y emisiones limpias;
con la filosofa de Django que facilita hacer las cosas de una manera correcta.
Concretamente, Django fomenta el bajo acoplamiento: la filosofa de
programacin que dice que las distintas partes de la aplicacin deben ser
intercambiables y deben comunicarse unas con otras mediante APIs claras y
concisas.
6. Quin usa Django?:
Muchos desarrolladores web de todo el mundo utilizan Django. Algunos
ejemplos concretos:
Por supuesto, World Online sigue utilizando Django para todos sus sitios web,
tanto internos como los de los clientes comerciales. Algunos de sus sitios que
corren con Django son:

http://www.ljworld.com/

http://www.lawrence.com/

http://www.6newslawrence.com/

http://www.visitlawrence.com/

http://www.lawrencechamber.com/

http://www2.kusports.com/stats/

7. Bibliografa:
o

http://the-geek.org/django-book/chapter1/

o http://www.cibernatural.com/tutorial-de-django-ii

http://books.google.com.pe/books?
id=M2D5nnYlmZoC&printsec=frontcover&dq=django&hl=es&sa=X&ei=
1siRUf_sOs_J4AO4hoHQDw&ved=0CGUQ6AEwBw

S-ar putea să vă placă și