McM
mcm@noway.es
Contact me: noway.es
Contact me

First Django Simple Application (Page1)

El tutorial que a continuación muestro ha sido sacado en su mayor parte de: http://docs.djangoproject.com/en/dev/intro/tutorial01/ destacando puntos concretos y haciendo especial hincapié en los sitios importantes.
Este artículo será publicado en la revista linvix.wordpress.com sobre software libre.

Django

Django es un framework de desarrollo web de código abierto escrito en Python, que te permite hacer aplicaciones web de una manera muy rápida cumpliendo con el patrón de diseño de arquitectura del software Modelo Vista Controlador (MVC) aunque de manera peculiar. Está muy orientado a programar gestores de contenidos CMS personalizados.

Inicialmente fue creado para gestionar páginas de noticias de la World Company de Lawrence, Kansas y fue liberada bajo licencia BSD en el 2005. Hoy en día andamos por la versión 1.1.

Entre las múltiples ventajas que presenta Django, podemos destacar las siguientes:

  • Un mapeador objeto-relacional: Puedes definir tus modelos de datos integramente en Python. Estos modelos son mapeados a la BBDD obteniendo inmediatamente un acceso dinámico a la BBDD a través de su API. Aun así, puedes seguir escribiendo sentencias SQL si es necesario.
  • Una API de base de datos robusta.
  • Un sistema extensible de plantillas basado en etiquetas, con herencia de plantillas. Una de las máximas de Django es reutilizar y aprovechar código ya escrito.
  • Diseño elegante de URL. Puedes diseñar las URL de la manera más flexible.
  • Aplicaciones "enchufables" que pueden instalarse en cualquier página gestionada con Django. Cualquier aplicación python tiene cavida dentro del framework Django.
  • Un sistema incorporado de "vistas genéricas" que ahorra tener que escribir la lógica de ciertas tareas comunes.
  • 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 librerías de plantillas añadidas por las aplicaciones).

Como hemos indicado, Django se ciñe a la filosofía de arquitectura MVC como otros muchos frameworks (Struts, Ruby on rails, ...) de una manera peculiar:

  • Vista: la capa de presentación se basa en plantillas HTML. Django presenta un template engine y un template loader muy potente que permite presentar al usuario diversas páginas HTML usando una base como plantilla. Esto es posible porque en cada una de las plantillas se pueden introducir determinadas etiquetas Django que el template loader se encargará de interpretar.
  • Controlador: Es lo que en Django se llama views. Puede llevar a la confusión, aunque Django lo llame views, éstas son las que actuan como controlador. Escritas en puro código Python cada view atenderá una petición HTML según el mapeo de URL del que ya se hablará más adelante.
  • Modelo: Una de las partes más potentes de Django, su modelo de datos. Cada uno de los modelos creados se mapean en diferentes tablas en la BBDD. Esto permite aislar la BBDD del código y olvidarte de los diferentes select y updates a veces tan tediosos.

Por ello decimos que presenta alguna peculiaridad dentro de la arquitectura MVC.

En la siguiente página crearemos el primer proyecto

Share it!

Twitter Gmail Delicious Google Bookmarks Hotmail Yahoo Mail Share/Bookmark