Django es un framework web de código abierto escrito en Python que permite construir aplicaciones web más rápido y con menos código. Se centra en automatizar tareas y seguir el principio DRY. Está basado en el patrón MVT, con las capas de Modelo, Template y Vista. Incluye características como administración de contenido, autenticación, y más.
2. ¿Que es Django?
Django es un framework web de código abierto escrito en
Python que permite construir aplicaciones web más rápido
y con menos código.
Django fue inicialmente desarrollado para gestionar
aplicaciones web de páginas orientadas a noticias de
World Online, más tarde se liberó bajo licencia BSD.
Django se centra en automatizar todo lo posible y se
adhiere al principio DRY (Don't Repeat Yourself).
3. Caracteristicas
Es un framework de desarrollo web
Código abierto
Permite construir aplicaciones web más rápido
Utilizando menos código
Principio DRY (Don’t Repeat Yourself).
Legible, casi pseudocódigo
4. Componentes
Django está basado en el patrón de diseño Model,
Template, View o MTV.
M de "Modelo", que es la capa de acceso a la data. Esta capa
contiene todo lo relacionado a los datos, como accesarlos,
como validarlos, cual es su comportamiento y las relaciones
entre los datos.
T de "Template", que es la capa de presentacion. Esta capa
contiene todas las decisiones relacionadas con la
presentacion. Como deben mostrarse las cosas en la pagina.
V de "Vista", la capa de logica del negocio. Esta capa contiene la
logica que accesa al modelo y lo lleva al Template apropiado.
Se puede ver como el puente entre la capa Modelo y la capa
Template.
6. Comenzando un proyecto nuevo.
django-admin.py startproject mysite
El comando "startproject" crea un directorio que contiene cinco archivos:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
7. Inicializando el servidor.
Para inicializar el servidor, deberá ubicarse en el directorio de su proyecto y
correr el siguiente comando:
python manage.py runserver
You’ll see something like this:
Validating models...
0 errors found.
Django version 1.4.2, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
8. Creando la primera aplicacion Django.
python manage.py startapp books
El comando "startapp" no genera ninguna salida, pero si agrega los
siguientes archivos al directorio del proyecto.
books/
__init__.py
models.py
tests.py
views.py
9. ¿Cual es la diferencia entre un Proyecto y una Aplicacion?.
Un proyecto es una instancia de varias aplicaciones Django, mas la
configuraciones de esas aplicaciones.
Tecnicamente, el unico requerimiento de un proyecto es que tenga el
archivo "settings", el cual define la conexion a la base de datos, la lista de
las aplicaciones instaladas, etc.
Una aplicacion, es un conjunto de funcionalidades de Django, usualmente
incluyen modelos y vistas.
Por ejemplo, Django viene con un numero de aplicaciones, tal como un
sistema de comentarios y una interfaz de administracion. Algo importante
sobre estas aplicaciones es que son portables y reusables en multiples
plataformas.
10. El primer Modelo.
from django.db import models
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField()
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
11. Creando la base de datos.
python manage.py syncdb
Creating table books_publisher
Creating table books_author
Creating table books_book
Installing index for books.Book model
12. Pagina de administracion.
La pagina de administracion esta diseñada para ser usada por
usuarios no tecnicos y se explica por si sola.
13. Pagina de administracion (Cont.).
En la pagina de inicio se listan todos los tipos de dato
que pueden ser editados por la pagina de
administracion.