Django: Un framework web para perfeccionistas con plazos
django es un framework de desarrollo web que sigue le modelo MVC (modelo vista controlador), los desarrolladores del proyecto prefieren llamarlo MVT,
- “M” es modelo, la capa de acceso a datos. Esta capa contiene todo acerca de los datos, como accesarlos, como validarlos, que comportamientos y relaciones tiene.
- “T” son los templates, la capa de presentación. Esta capa contiene decisiones relacionadas con la presentación: como algo debe ser mostrado en una pagina web o en otro tipo de documento.
- “V” son las vistas, es la capa de lógica de negocios. Esta capa contiene la lógica que accesa el modelo y difiere a los templates apropiados. es la unión entre los modelos y los templates.
Más enlaces:
Comunidad en español http://django.es
Instalación
- Se puede instalar desde paquetes oficiales, tar.gz o svn.
Templates
include: para incluir otros templates en este caso inc.html se aceptan las dos convenciones
{% include 'inc.html' %}
{% include "inc.html" %}
Herencia de Templates
- Eliminando redundancia.
Modelos
- Interactuando con las bases de datos
Al crear un nuevo modelo se debe syncronizar la base de datos para que se creen las tablas correspondientes, se debe realizar el siguiente comando:
python manage.py syncdb
Creando una aplicación
python manage.py startapp nombredemiaplicacion
Vistas
El primer paso para escribir vistas es diseñar una estructura URL. Esto se hace creando un modulo de Python module, llamado un URLconf. Los URLconfs son como Django se asocia a una URL dada con el código de python dado.
Creando una interfaz de administración
Se debe agregar una clase interna dentro de cada clase a la cual se le quiera dar administración. de esta forma:
class Admin:
passLuego añada django.contrib.admin al archivo settings.py de su projecto django.(no de su aplicacion)
Probando la base de datos
from django.db import connection cursor = connection.cursor()
Corriendo el servicio
python manage.py runserver 8080 python manage.py runserver 0.0.0.0:8080
Notas
- Seguridad.
- Modularización.
- sistema de tamplates mínimo.
- En comparación con drupal mucho menos código.(python)
- Es bueno tener la PIL python imaging library, para una mayor funcionalidad.
- No se encuentra un CMS con licencia GPL que sea tan profesional como Ellington, sin embargo hay buenas althernivas como pylucid y kaleydoscope.
