Este examen puede ser elaborado de manera individual o en parejas.
Crea un nuevo proyecto y aplicación web en Django que implemente un foro de discusión sencillo con el siguiente modelo de datos:
Tema
y Comentario
corresponden a los modelos de la aplicación y se almacenan en una base de datos. Tema
tiene un solo campo: el título del tema (por ejemplo: “Rumbo a las elecciones del 2012” o “El Amor en el tiempo del SIDA”). Comentario
tiene cuatro campos: el nombre del autor del comentario (por ejemplo: “Fulanito de Tal”), el texto del comentario (por ejemplo: “Yo creo que ahora sí va a ganar el Dr. Simil.”), la hora y fecha en al que se realizó el comentario, y una llave externa al Tema
al que pertenece (para implementar la relación de muchos-a-uno).
Para fines de prueba, los valores de los renglones de Tema
se pueden ingresar de cualquiera de las siguientes maneras:
La aplicación web a construir debe funcionar de la siguiente manera: en la página de inicio deben aparecer todos los títulos de los temas disponibles. Cada título debe ser un hipervínculo que al ser seleccionado lleva a otra página donde aparecen todos los comentarios (autor, texto, fecha y hora) del tema escogido. Al final de esta página debe haber un formulario que permita añadir el autor y texto de un nuevo comentario (junto con la fecha y hora de ese momento), asociado al tema antes seleccionado. Al presionar el botón “submit” debe aparecer una nueva página indicando que el comentario ya fue recibido. Ahí mismo debe haber dos ligas: una a la página inicial y la otra a la misma página del tema al que se le acaba de agregar el comentario.
Agrega el nombre y matrícula de los autores dentro de un comentario en la parte superior de cada archivo fuente de la aplicación (archivos PY, CSS, HTML).
% | Descripción |
---|---|
5% | Configuración adecuada de la aplicación y sus respectivos URLs. |
5% | Implementación adecuada de las vistas. |
20% | Diseño de las plantillas y uso adecuado de hojas de estilo CSS para lograr una adecuada presentación de las páginas. |
20% | Diseño de los modelos y adecuada configuración e integración con la base de datos MySQL. |
10% | Se hace una redirección después del método POST para evitar que un mismo comentario sea duplicado de manera inadvertida. |
10% | Aplicación adecuada del principio DRY. |
25% | Respuesta correcta a preguntas y/o solicitud de modificaciones. |
5% | Datos de los autores en comentarios al inicio de los archivos fuente. |
DA | Si se detecta cualquier tipo de plagio o fraude. |
Se revisará en persona la aplicación funcionando el lunes 7 de noviembre a la hora de clase. Antes de la revisión, sube un archivo tarball llamado examen3.tgz
que contenga todo el proyecto al Sistema de Entrega de Tareas Automatizado (SETA).