Update day 16
Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
parent
4fb899f0a3
commit
741187de54
@ -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:
|
Ahora nos queda importar EliminarTarea en urls.py y añadir el path:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
path('eliminar-tarea/<int:pk>', EliminarTarea.as_view(), name='eliminar-tarea')
|
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
|
## 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.14. - Formulario de Logueo / Deslogueo
|
||||||
|
|
||||||
## 16.15. - Restringir acceso
|
## 16.15. - Restringir acceso
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
<h1>Ingresar</h1>
|
||||||
|
|
||||||
|
<form method="post" action="">
|
||||||
|
{% csrf_token %}
|
||||||
|
{{form.as_p}}
|
||||||
|
|
||||||
|
<input type="submit" value="Ingresar">
|
||||||
|
|
||||||
|
</form>
|
@ -1,9 +1,10 @@
|
|||||||
from django.urls import path
|
from django.urls import path
|
||||||
from .views import ListaPendientes, DetalleTarea, CrearTarea, EditarTarea, EliminarTarea
|
from .views import ListaPendientes, DetalleTarea, CrearTarea, EditarTarea, EliminarTarea, Logueo
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', ListaPendientes.as_view(), name='tareas'),
|
path('', ListaPendientes.as_view(), name='tareas'),
|
||||||
|
path('login/', Logueo.as_view(), name='login'),
|
||||||
path('tarea/<int:pk>', DetalleTarea.as_view(), name='tarea'),
|
path('tarea/<int:pk>', DetalleTarea.as_view(), name='tarea'),
|
||||||
path('crear-tarea/', CrearTarea.as_view(), name='crear-tarea'),
|
path('crear-tarea/', CrearTarea.as_view(), name='crear-tarea'),
|
||||||
path('editar-tarea/<int:pk>', EditarTarea.as_view(), name='editar-tarea'),
|
path('editar-tarea/<int:pk>', EditarTarea.as_view(), name='editar-tarea'),
|
||||||
|
@ -2,12 +2,22 @@ from django.shortcuts import render
|
|||||||
from django.views.generic.list import ListView
|
from django.views.generic.list import ListView
|
||||||
from django.views.generic.detail import DetailView
|
from django.views.generic.detail import DetailView
|
||||||
from django.views.generic.edit import CreateView, UpdateView, DeleteView
|
from django.views.generic.edit import CreateView, UpdateView, DeleteView
|
||||||
|
from django.contrib.auth.views import LoginView
|
||||||
from django.urls import reverse_lazy
|
from django.urls import reverse_lazy
|
||||||
from .models import Tarea
|
from .models import Tarea
|
||||||
|
|
||||||
# Create your views here.
|
# 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):
|
class ListaPendientes(ListView):
|
||||||
model = Tarea
|
model = Tarea
|
||||||
context_object_name = 'tareas'
|
context_object_name = 'tareas'
|
||||||
|
BIN
python-total/img/dia16_33.png
Normal file
BIN
python-total/img/dia16_33.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 115 KiB |
BIN
python-total/img/dia16_34.png
Normal file
BIN
python-total/img/dia16_34.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
Loading…
Reference in New Issue
Block a user