Iniciar sesión
Parte de la sección Usuarios y cuentas del Journey de Django de Coddy. Lección 2 de 16.
El sitio puede saber quién ha iniciado sesión, pero no tiene ninguna página para iniciar sesión. Django tiene la vista LoginView. Una línea en el urls.py del proyecto la añade, junto con las páginas para cerrar sesión y cambiar la contraseña:
path("accounts/", include("django.contrib.auth.urls")),Ahora existe /accounts/login/, con el nombre login. La vista muestra registration/login.html con un form que tiene un campo username y otro password. Tú tienes que escribir esa plantilla: un formulario POST normal. Django la busca en la carpeta templates/ de cada aplicación, y su nombre no incluye ninguna aplicación porque la vista de Django no conoce tus aplicaciones.
Después de iniciar sesión correctamente, la vista redirige a LOGIN_REDIRECT_URL. Su valor predeterminado, /accounts/profile/, no existe aquí, así que configúralo en settings.py.
Desafío
Fácil- En
mysite/urls.py, incluyedjango.contrib.auth.urlsenaccounts/. - Crea
notes/templates/registration/login.html: extiendenotes/base.htmly muestra elformen un formulario POST con un botónLog in. - Un inicio de sesión correcto lleva a
/. - Debajo de
You are not signed in., un enlaceLog in.
Pulsa Run y después inicia sesión como ada (contraseña coddy-pass-123).
Pruébalo tú mismo
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path("admin/", admin.site.urls),
path("", include("notes.urls")),
]
Todas las lecciones de Usuarios y cuentas
1Quién está visitando
Quién está visitandoIniciar sesiónPractica por tu cuenta: Playground de Django