From 9c43d3cad50a9781920b8426c5820bb2e2d7f27c Mon Sep 17 00:00:00 2001 From: Manuel Vergara Date: Sun, 21 May 2023 21:33:13 +0200 Subject: [PATCH] Update day 16 Signed-off-by: Manuel Vergara --- python-total/dia_16/README.md | 53 +++++++++++++++++- .../base/templates/base/tarea_form.html | 2 + .../base/templates/base/tarea_list.html | 2 + .../dia_16/mi_web/src/proyecto/base/urls.py | 5 +- .../dia_16/mi_web/src/proyecto/base/views.py | 8 +++ python-total/img/dia16_27.png | Bin 0 -> 29866 bytes 6 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 python-total/dia_16/mi_web/src/proyecto/base/templates/base/tarea_form.html create mode 100644 python-total/img/dia16_27.png diff --git a/python-total/dia_16/README.md b/python-total/dia_16/README.md index eeb2398..1980429 100644 --- a/python-total/dia_16/README.md +++ b/python-total/dia_16/README.md @@ -512,9 +512,60 @@ Y así la vista en el navegador: ![](../img/dia16_26.png) - ## 16.9. - Agregar nueva tarea +Seguimos editando base/views.ppy y base/urls.py. En views.py importamos una clase más: +```python +from django.views.generic.detail import DetailView +``` + +Creamos la clase CreaTarea que tendrá una lógica un poco más compleja porque el sistema que recoja un pedido que creará un nuevo elemento que se incluirá en la lista. Esta clase tomará un formulario por defecto de models.py basados en los campos que incluimos. + +Se puede incluir en la clase una lista con todos los elementos que queremos en el formulario: +```python +fields= ['titulo', 'descripcion', 'completo', 'creado'] +``` + +Pero en este caso queremos todos los campos, así que utilizaremos +```python +fields= '__all__' +``` +Y para asegurarnos que cuando se envíe el formulario con éxito el usuario vaya a otra página distinta tenemos que importar otra herramienta: +```python +from django.urls import reverse_lazy +``` + +reverse_lazy se ocupa de redirigir la página cuando encuentre el evento que se le indique. Cargamos la url donde se redirige con success_url +```python +success_url = reverse_lazy('tareas') +``` + +De nuevo, tendremos que añadir la nueva página en el fichero urls.py, importando la clase y añadiendo el path. Quedando el documento así: +```python +from django.urls import path +from .views import ListaPendientes, DetalleTarea, CrearTarea + +urlpatterns = [ + path('', ListaPendientes.as_view(), name='pendientes'), + path('tarea/', DetalleTarea.as_view(), name='tarea'), + path('crear-tarea/', CrearTarea.as_view(), name='crear-tarea') +] +``` + +Ahora necesitaremos un nuevo fichero html en templates que le llamaremos tarea_form.html que es el nombre por defecto. Para las pruebas tan solo ponemos un título: +```html +

Formulario de tareas

+``` + +Y por último, para que la página principal tenga un enlace que redirija a la página nueva, tendremos que editar tareas_list.html añadiendo este fragmento de código html: +```html +Crear nueva tarea +``` + +Ahora ya podemos ver el enlace que nos lleva a la nueva página creada: + +![](../img/dia16_27.png) + ## 16.10. - Formulario para nueva tarea ## 16.11. - Editar tarea diff --git a/python-total/dia_16/mi_web/src/proyecto/base/templates/base/tarea_form.html b/python-total/dia_16/mi_web/src/proyecto/base/templates/base/tarea_form.html new file mode 100644 index 0000000..ff8618b --- /dev/null +++ b/python-total/dia_16/mi_web/src/proyecto/base/templates/base/tarea_form.html @@ -0,0 +1,2 @@ +

Formulario de tareas

+ diff --git a/python-total/dia_16/mi_web/src/proyecto/base/templates/base/tarea_list.html b/python-total/dia_16/mi_web/src/proyecto/base/templates/base/tarea_list.html index 299e11f..4036698 100644 --- a/python-total/dia_16/mi_web/src/proyecto/base/templates/base/tarea_list.html +++ b/python-total/dia_16/mi_web/src/proyecto/base/templates/base/tarea_list.html @@ -1,5 +1,7 @@

Lista de pendientes

+Crear nueva tarea + diff --git a/python-total/dia_16/mi_web/src/proyecto/base/urls.py b/python-total/dia_16/mi_web/src/proyecto/base/urls.py index b899125..75d2b1c 100644 --- a/python-total/dia_16/mi_web/src/proyecto/base/urls.py +++ b/python-total/dia_16/mi_web/src/proyecto/base/urls.py @@ -1,8 +1,9 @@ from django.urls import path -from .views import ListaPendientes, DetalleTarea +from .views import ListaPendientes, DetalleTarea, CrearTarea urlpatterns = [ path('', ListaPendientes.as_view(), name='pendientes'), - path('tarea/', DetalleTarea.as_view(), name='tarea') + path('tarea/', DetalleTarea.as_view(), name='tarea'), + path('crear-tarea/', CrearTarea.as_view(), name='crear-tarea') ] diff --git a/python-total/dia_16/mi_web/src/proyecto/base/views.py b/python-total/dia_16/mi_web/src/proyecto/base/views.py index da92ce4..06de421 100644 --- a/python-total/dia_16/mi_web/src/proyecto/base/views.py +++ b/python-total/dia_16/mi_web/src/proyecto/base/views.py @@ -1,6 +1,8 @@ from django.shortcuts import render from django.views.generic.list import ListView from django.views.generic.detail import DetailView +from django.views.generic.edit import CreateView +from django.urls import reverse_lazy from .models import Tarea # Create your views here. @@ -15,3 +17,9 @@ class DetalleTarea(DetailView): model = Tarea context_object_name = 'tarea' template_name = 'base/tarea.html' + + +class CrearTarea(CreateView): + model = Tarea + fields = '__all__' + success_url = reverse_lazy('tareas') diff --git a/python-total/img/dia16_27.png b/python-total/img/dia16_27.png new file mode 100644 index 0000000000000000000000000000000000000000..4fd84070ea3aed0d9e6e3cdef4898cdd3c80a4c3 GIT binary patch literal 29866 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 literal 0 HcmV?d00001
Elementos