Proyecto Final - Parte 4¶
Introducción¶
En esta Parte IV, nos centraremos en crear las rutas y vistas necesarias para gestionar los Contactos y las Tareas. Esto incluirá la implementación de las operaciones CRUD completas, como crear un nuevo contacto o tarea, ver el detalle de un contacto o tarea, editarlo y eliminarlo. Vamos a trabajar con las rutas en urls.py y las vistas en views.py para cada aplicación, asegurándonos de que la lógica esté correctamente implementada y los templates correspondan con la funcionalidad de cada ruta.
Desarrollo¶
1. Configuración de las Rutas¶
Lo primero que necesitamos es configurar las rutas para cada una de las operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en las aplicaciones contact y todo.
1.1 Rutas en contact/urls.py¶
En el archivo contact/urls.py, configuraremos las rutas para los contactos, incluyendo la creación, visualización, edición y eliminación de contactos:
| contact/urls.py | |
|---|---|
1 2 3 4 5 6 7 8 9 10 | |
Ahora creamos cada uno de los métodos en views.py para manejar estas rutas. De momento suficiente que devuelvan un mensaje simple para verificar que las rutas funcionan correctamente. Pro ejemplo:
| contact/views.py | |
|---|---|
1 2 3 4 | |
2. Completar la plantilla contact/index.html¶
Desde esta plantilla (template) tenemos que:
- Ver una lista de contactos
- Enlaces para ver, editar y eliminar cada contacto
- Enlace para crear un nuevo contacto
- Un formulario en la parte superior para buscar contactos por nombre o apellido
La plantilla ya la teníamos creada, pero en el cuerpo tenía mos un mensaje. Vamos a cambiar este mensaje por tlos elementos que hemos descrito anteriormente:
| contact/index.html | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
Modificamos la vista index en contact/views.py para que pase los contactos al template:
| contact/views.py | |
|---|---|
1 2 3 4 5 6 | |
Vista de la página de Contactos
En caso de tener la tabla de contactos vacía, podemos utilizar la aplicación admin para crear algunos contactos de prueba, si registramos la aplicación contact en el archivo admin.py de la aplicación contact (se hizo en el apartado anterior).
3. Creación de las Vistas en views.py¶
Ahora que las rutas están configuradas, necesitamos crear las vistas correspondientes en views.py para manejar la lógica de cada una de estas operaciones.
3.1 Vistas en contact/views.py¶
Comencemos creando las vistas para las operaciones CRUD de los contactos. Abre el archivo contact/views.py y agrega el siguiente código:
| contact/views.py | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | |
Explicación de las vistas de contact:
index: Obtiene todos los contactos de la base de datos y los pasa al templatecontact/index.htmlpara mostrarlos.create: Si el método esPOST, valida el formulario y guarda el nuevo contacto. Si esGET, simplemente muestra un formulario vacío.detail: Muestra el detalle de un contacto en la páginacontact/detail.html.edit: Permite editar un contacto. Si el método esPOST, actualiza el contacto con los nuevos datos. Si esGET, muestra el formulario con los datos actuales del contacto.delete: Elimina un contacto de la base de datos si se confirma la acción mediante un formularioPOST.
Creación de plantillas¶
Hemos definido las rutas (urls.py) y las vistas (views.py) para las operaciones CRUD de Contactos y Tareas. Ahora necesitamos crear las plantillas HTML correspondientes para cada una de estas vistas. Para que los enlaces en las plantillas funcionen correctamente
4.1 Plantillas de Contactos¶
-
contact/index.html: Ya lo hemos creado anteriormente, pero recordemos que muestra una lista de contactos con enlaces para ver, editar y eliminar. -
contact/create.html: Este archivo mostrará el formulario para crear un nuevo contacto:
| contact/create.html | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 | |
contact/detail.html: Mostrará los detalles de un contacto:
| contact/detail.html | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
contact/edit.html: Mostrará el formulario para editar un contacto existente:
| contact/edit.html | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
contact/delete.html: Confirmará la eliminación de un contacto:
| contact/delete.html | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Verificación¶
Con todas las rutas, vistas y plantillas creadas, es hora de verificar que todo funcione correctamente. Inicia el servidor de desarrollo de Django y navega a la página de contactos para probar cada una de las operaciones CRUD:
python manage.py runserver
Ahora ve a la lista de contactos y:
- Crea un nuevo contacto.
- Visualiza el detalle de un contacto.
- Edita un contacto existente.
- Elimina un contacto.
Todas estas operaciones deberían funcionar sin problemas, y los cambios deberían reflejarse en la base de datos.
6. Resumen¶
En esta Parte IV, hemos creado las rutas y vistas para las operaciones CRUD de Contactos y Tareas. Ahora, los usuarios pueden crear, ver, editar y eliminar contactos y tareas mediante las vistas y formularios que hemos configurado.