Laboratorio 11: Textos Retro

Objetivos

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.

Descripción

Esta práctica puede ser elaborada de manera individual o en parejas.

El material aquí cubierto asume que ya se leyó el capítulo 15 de [HOLOVATY].

En esta práctica deberás crear un nuevo proyecto de Django llamado retro. Configura el proyecto para que contenga un directorio de contenido estático. Copia los archivos de static.zip al directorio static de tu proyecto. El objetivo de esta práctica es que cuando se solicite un archivo con extensión .txt, en lugar de desplegarlo así:

Archivo de texto sin ningún procesamiento.
[ Ver fuente ]

debe desplegarlo así (estilo papel stock como lo usaban la impresoras de matriz de punto de antaño):

Archivo de texto procesado.
[ Ver fuente ]

Para lograr esto, debes crear (e instalar) una nueva clase de middleware que realice un post-procesamiento de la respuesta con el siguiente comportamiento: si la petición original solicitó un recurso con extensión .txt, entonces debes crear una nueva respuesta, ahora en XHTML en lugar de texto plano, que incluya el texto íntegro de la respuesta original pero con los ajustes necesarios para que aparezca como se muestra en la imagen anterior. Sin embargo,si la petición original solicitó un recurso con extensión distinta a .txt, debes devolver la respuesta original sin modificación.

Para resolver esta práctica probablemente tendrás que consultar la documentación de Django respecto a los objetos request y response.

¿Qué se debe entregar?

Sigue las siguientes indicaciones para entregar tu práctica:

Evaluación

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.
© 1996-2008 por Ariel Ortiz Ramírez (ariel.ortiz@itesm.mx)
ArielOrtiz.com | Desarrollado en Django | Licencia de Creative Commons | XHTML válido | CSS válido