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 leyó el capítulo 7 de [HOLOVATY].
empleados
.
Realiza las configuraciones necesarias. Nota: Este proyecto no tiene
ninguna interacción con una base de datos.
forms.py
y escribe en él una nueva
clase formulario llamada EmpleadoForm
que tenga los
siguientes campos: nombre (CharField
), dirección
(CharField
con un widget de área de texto), fecha de
nacimiento (DateField
) y salario
(IntegerField
).
En la vista views.py
, añade una función que
verifique lo siguiente:
GET
se debe ir a
una plantilla donde se despliegue el formulario en el que se
pidan todos los datos del empleado (usando {{
form.as_table }}
).
POST
se deben
validar los campos (usando la función
is_valid
), en caso de haber algún error se
debe re-desplegar la plantilla de captura (la del inciso
anterior), de otra forma se debe ir a una nueva plantilla
que diga "Todo en Orden" y que despliegue la información
capturada.
EmpleadoForm
una validación al salario: si el salario es menos de 2000, debe arrojar un ValidationError
con el mensaje "Gana muy poquito". Verifica que funcione como se espera.
http://localhost:8000/empleados/
Nota: Para las dos plantillas solicitadas, utiliza la siguiente plantilla base:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <style type="text/css"> body { background-color: #FFFFFF; color: #000080; font-family: sans-serif; font-size: medium; margin-top: 20px; margin-left: 20px; margin-right: 20px; } hr { border: 0; color: #0000FF; background-color: #0000FF; height: 3px; } table { border-collapse: collapse; border: 1px solid #000000; padding: 0px; margin-bottom: 10px; color: #000000; background: #E6E6FA; } td { border: 1px solid #000000; padding: 10px; } th { border: 1px solid #000000; padding: 10px; color: #008080; background: #B0E0E6; } ul.errorlist { margin: 0; padding: 0; } .errorlist li { background-color: #FF0000; color: #FFFFFF; display: block; font-size: 10px; margin: 0 0 3px; padding: 4px 5px; } </style> <title> {% block titulo %} Soy un(a) menso(a) por no cambiar el título {% endblock %} </title> </head> <body> <h1> {% block encabezado %} Soy un(a) menso(a) por no cambiar el encabezado {% endblock %} </h1> {% block contenido %} {% endblock %} {% block pie %} <hr/> © 2008 por Tecnológico de Monterrey, Campus Estado de México. {% endblock %} </body> </html>
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.
empleados.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. |