2. Recapitulemos
● Ayer vimos algo de python que es el lenguaje
en el que está escrito Django y es el lenguaje
en el que se escriben proyectos Django
● Comenzamos un virtualenv
● Instalamos el paquete “Django” con pip en el
virtualenv anteriormente nombrado
3. Qué veremos hoy
● Django es un “MVC”, en realidad un “MVT”
● Estructura de un proyecto
● La capa de modelo
● La interfaz administrativa de Django
4. Antes de continuar
● La documentación de Django es realmente
buena https://docs.djangoproject.com/en/1.5/
● Hay mucha información en stackoverflow
http://stackoverflow.com/questions/tagged/django
● Hay comunidades en Facebook, y Google
Groups tanto en español como en inglés
5. MVC vs MVT I
● MVC significa “modelo vista controlador”.
● Modelo: Lo que almacena (o persiste los
datos)
● Controlador: Lo que transforma los datos
guardados para su visualización o utilización
● Vista: Lo que presenta los datos ya
transformados al usuario
6. MVC vs MVT II
● MVT significa “modelo vista plantilla”
● El controlador se mezcla en la capa de
modelo y capa de vista
● La capa de plantilla permite modificar el
aspecto de lo que se muestra al usuario.
7. La estructura de un proyecto
● Un proyecto muchas aplicaciones
● Django-admin.py startproject amazing_blog
● python manage startapp blog
8. Ejercicio 1
● Crea un proyecto amazing_blog que contenga
una aplicación blog. Configura para su uso
una base de datos sqlite que utilice un fichero
llamado dev.db
10. Modelo de datos
● Django utiliza un ORM (object relational
mapper) de manera que no es necesario
escribir SQL, sino solo “instanciar” y utilizar
objetos.
● Veamos que “tipos de datos” permite utilizar
Django (
https://docs.djangoproject.com/en/1.5/ref/models/fiel
)
● Creamos el modelo de datos “post”
11. Ejercicio 2
● Crea el modelo de datos “comment”. Cada
comentario está asociado a un único post.
13. La interfaz administrativa
● Hagamos que los comentarios de un post se
muestren como “inlines” dentro del post
asociado
● Modifiquemos la lista de campos para hacer
que se indique el número de comentarios de
un post
14. Profundizar más
● ¿Cómo se gestionan los cambios en el
modelo? (Schema evolution, south)
● Desarrollo modular (Portable apps)
● Soporte para múltiples bases de datos en el
mismo proyecto