Update day 16

Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
Manuel Vergara 2023-05-23 23:55:18 +02:00
parent 4fb899f0a3
commit 741187de54
6 changed files with 56 additions and 1 deletions

View File

@ -664,6 +664,7 @@ Ahora abrimos un nuevo html que le llamaremos como el sistema lo marca por defec
```
Ahora nos queda importar EliminarTarea en urls.py y añadir el path:
```python
path('eliminar-tarea/<int:pk>', EliminarTarea.as_view(), name='eliminar-tarea')
```
@ -673,6 +674,40 @@ Ya podemos eliminar tareas 😎
## 16.13. - Crear la lógica de Logueo / Deslogueo
Vamos a adaptar el fichero principal tarea_list.html para que tenga una condicional que detecte si el usuario está logueado o que enlace una página de logueo. También incluimos una barra horizontal para separarlo del contenido.
```html
<p>
{{request.user}}
</p>
<hr>
```
Podemos ver el logueo con "Inspeccionar elemento" / Application /cookies / sessionid
![](../img/dia16_33.png)
Si lo borramos nos deslogueamos y aparecerá como usuario anonimo.
![](../img/dia16_34.png)
Vamos a poner el anterior fragmento de código dentro de un if, quedando así:
```html
{% if request.user.is_authenticated %}
<p>
{{request.user}}
</p>
<a href="">Salir</a>
{% else %}
<a href="{% url 'login' %}">Iniciar sesión</a>
{% endif %}
```
En el siguiente punto veremos como construir el formulario de logueo.
## 16.14. - Formulario de Logueo / Deslogueo
## 16.15. - Restringir acceso

View File

@ -0,0 +1,9 @@
<h1>Ingresar</h1>
<form method="post" action="">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Ingresar">
</form>

View File

@ -1,9 +1,10 @@
from django.urls import path
from .views import ListaPendientes, DetalleTarea, CrearTarea, EditarTarea, EliminarTarea
from .views import ListaPendientes, DetalleTarea, CrearTarea, EditarTarea, EliminarTarea, Logueo
urlpatterns = [
path('', ListaPendientes.as_view(), name='tareas'),
path('login/', Logueo.as_view(), name='login'),
path('tarea/<int:pk>', DetalleTarea.as_view(), name='tarea'),
path('crear-tarea/', CrearTarea.as_view(), name='crear-tarea'),
path('editar-tarea/<int:pk>', EditarTarea.as_view(), name='editar-tarea'),

View File

@ -2,12 +2,22 @@ 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, UpdateView, DeleteView
from django.contrib.auth.views import LoginView
from django.urls import reverse_lazy
from .models import Tarea
# Create your views here.
class Logueo(LoginView):
template_name = "base/login.html"
field = '__all__'
redirect_authenticated_user = True
def get_success_url(self):
return reverse_lazy('tareas')
class ListaPendientes(ListView):
model = Tarea
context_object_name = 'tareas'

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB