From 33e2f1b72f5e8cfe5b6b4da4d8498261f8fedf7f Mon Sep 17 00:00:00 2001 From: Manuel Vergara Date: Sun, 21 May 2023 19:21:17 +0200 Subject: [PATCH] Update day 16 Signed-off-by: Manuel Vergara --- python-total/dia_16/README.md | 44 ++++++++++++++++++ .../proyecto/base/templates/base/tarea.html | 2 + .../dia_16/mi_web/src/proyecto/base/urls.py | 5 +- .../dia_16/mi_web/src/proyecto/base/views.py | 7 +++ python-total/img/dia16_24.png | Bin 0 -> 17468 bytes python-total/img/dia16_25.png | Bin 0 -> 15642 bytes 6 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 python-total/dia_16/mi_web/src/proyecto/base/templates/base/tarea.html create mode 100644 python-total/img/dia16_24.png create mode 100644 python-total/img/dia16_25.png diff --git a/python-total/dia_16/README.md b/python-total/dia_16/README.md index 0460aa4..7fcb4a3 100644 --- a/python-total/dia_16/README.md +++ b/python-total/dia_16/README.md @@ -433,6 +433,50 @@ Ya lo podemos cambiar por tareas. ## 16.7. - Configurar la vista de Detalle +En base/views vamos a importar la función para los detalles y crearemos una clase más. Quedando el fichero así: +```python +from django.shortcuts import render +from django.views.generic.list import ListView +from django.views.generic.detail import DetailView +from .models import Tarea + +# Create your views here. + +class ListaPendientes(ListView): + model = Tarea + context_object_name = 'tareas' + +class DetalleTarea(DetailView): + model = Tarea +``` + +Y necesitaremos crear otro fichero html como plantilla. Por defecto será tarea_detail.html, pero luego podemos ver como cambiar el nombre. Tendremos que incluir en base/urls.py el import y el path de la tarea, quedando el documento así: +```python +from django.urls import path +from .views import ListaPendientes, DetalleTarea + +urlpatterns = [ + path('', ListaPendientes.as_view(), name='pendientes'), + path('tarea/', DetalleTarea.as_view(), name='tarea') +] +``` + +En el nombre del path se ha incluido `` que es el número intenger de la Primary Key. + +En el html creado añadimos lo siguiente: +```html +

Tarea: {{object}}

+``` + +Esto hará que tenga el nombre de la tarea en cada url con un número de primary key válido: + +![](../img/dia16_24.png) + +![](../img/dia16_25.png) + +Ahora podemos personalizar el object en base/views.py añadiendo a nuestra clase context_object_name con tarea y cambiando la palabra object por tarea del html. +Ahora vamos a personalizar el nombre del html de tarea_details.html por tarea.html y lo vamos a incluir en base/views.py, en la clase DetalleTarea, el template_name con la ubicación 'base/tarea.html'. + ## 16.8. - Crear Links a Detalle ## 16.9. - Agregar nueva tarea diff --git a/python-total/dia_16/mi_web/src/proyecto/base/templates/base/tarea.html b/python-total/dia_16/mi_web/src/proyecto/base/templates/base/tarea.html new file mode 100644 index 0000000..0782c52 --- /dev/null +++ b/python-total/dia_16/mi_web/src/proyecto/base/templates/base/tarea.html @@ -0,0 +1,2 @@ +

Tarea: {{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 3c7038e..b899125 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,7 +1,8 @@ from django.urls import path -from .views import ListaPendientes +from .views import ListaPendientes, DetalleTarea urlpatterns = [ - path('', ListaPendientes.as_view(), name='pendientes') + path('', ListaPendientes.as_view(), name='pendientes'), + path('tarea/', DetalleTarea.as_view(), name='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 dfae1fd..da92ce4 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,5 +1,6 @@ from django.shortcuts import render from django.views.generic.list import ListView +from django.views.generic.detail import DetailView from .models import Tarea # Create your views here. @@ -8,3 +9,9 @@ from .models import Tarea class ListaPendientes(ListView): model = Tarea context_object_name = 'tareas' + + +class DetalleTarea(DetailView): + model = Tarea + context_object_name = 'tarea' + template_name = 'base/tarea.html' diff --git a/python-total/img/dia16_24.png b/python-total/img/dia16_24.png new file mode 100644 index 0000000000000000000000000000000000000000..5ebb66643dda4e96b3b534bb31bb738986aae513 GIT binary patch literal 17468 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 z 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 XDm$jvZ50F_2g2a#>gTe~DWM4fc#*!u literal 0 HcmV?d00001 diff --git a/python-total/img/dia16_25.png b/python-total/img/dia16_25.png new file mode 100644 index 0000000000000000000000000000000000000000..3af31d49cc9ff31bf961f812bcc04369c6f6a15e GIT binary patch literal 15642 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

N06 literal 0 HcmV?d00001