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. |