Durante esta práctica, los alumnos serán capaces de:
Esta actividad promueve las siguientes habilidades, valores y actitudes: análisis y síntesis, capacidad de resolver problemas, creatividad, y uso eficiente de la informática y las telecomunicaciones.
Esta práctica puede ser elaborada de manera individual o en parejas.
El material aquí cubierto asume que ya se leyeron los capítulos 5 y 6 de [HOLOVATY].
bd_peliculas
:
create database bd_peliculas;
Desde la línea de comando, ejecuta lo siguiente para crear un
nuevo proyecto de Django llamado peliculas
:
django-amdin.py startproject peliculas
En el directorio recién creado, modifica el archivo
settings.py
para que incluya lo siguiente:
DATABASE_ENGINE = 'mysql' DATABASE_NAME = 'bd_peliculas' DATABASE_USER = 'root' # Login de administrador de MySQL DATABASE_PASSWORD = 'secreto' # Password de administrador de MySQL DATABASE_HOST = '' # Usar el default: localhost DATABASE_PORT = '' # Usar el default: 3306
Desde la línea de comando, ejecuta:
python manage.py shell
Verifica que la configuración esté correcta:
>>> from django.db import connection >>> cursor = connection.cursor()
Si no marca error alguno, quiere decir que todo está bien.
Dentro del proyecto, crea una aplicación llamada
principal
a través de la línea de comando:
python manage.py startapp principal
Edita el archivo principal/models.py
para que
incluya la definición de dos modelos: Actor
y
Pelicula
:
Actor
deben ser: nombre
(CharField
de tamaño 30) y fecha de nacimiento
(DateField
).
Pelicula
deben ser: nombre
(CharField
de tamaño 30), año de estreno
(IntegerField
) y actores
(ManyToManyField
con Actor
).
Modifica el archivo settings.py
con las siguientes
líneas:
INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'peliculas.principal', )
Verifica que los modelos están correctamente definidos ejecutando desde la línea de comando:
python manage.py validate
En caso de que existan errores, realiza las correcciones necesarias.
Ejecuta lo siguiente desde la línea de comando para observar los comandos de MySQL que se requieren para crear las respectivas tablas:
python manage.py sqlall principal
Desde la línea de comando, ejecuta lo siguiente para crear la base de datos. El programa te pedirá crear un superusuario, responde que sí y teclea los datos que te solicita.
python manage.py syncdb
Pelicula
y Actor
,
la clase anidada class Admin: pass
y el método
__str__
para permitir su edición desde el
sistema de administración de sitios.
Agrega a urls.py
un patrón URL para acceder a dicho
sistema:
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^admin/', include('django.contrib.admin.urls')),
)
Ejecuta el servidor de Web desde la línea de comando:
python manage.py runserver
Accede al sitio de administración desde un browser con el
siguiente URL: http://localhost:8000/admin/
. Utiliza el login y password que definiste en el paso en el que realizaste el syncdb
.
Realiza los ajustes necesarios en la configuración del proyecto
y crea una vista y una plantilla en donde se muestren en una
tabla todas las películas de la base de datos, incluyendo el
nombre de los actores participantes. Dicha vista debe poder
accederse con el URL:
http://localhost:8000/peliculas/info/
Verifica que la salida sea XHTML válido utilizando el Servicio de Validación de W3C.
Sigue las siguientes indicaciones para entregar tu práctica:
readme.txt
. En este archivo debes incluir el
nombre completo y matrícula de los autores de la práctica.
peliculas.zip
con el
contenido completo del directorio donde se encuentra tu proyecto
Web.
Esta práctica será evaluada usando los siguientes criterios:
100 | La práctica cumple con todos los requerimientos. |
---|---|
60-90 | La práctica funciona en general, pero contiene uno o varios errores menores. |
50 | Proyecto Web produce un error a tiempo de ejecución. |
DA | La solución es un plagio. |