Menu
CoddyTech

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.

challenge icon

Desafío

Fácil
  • En mysite/urls.py, incluye django.contrib.auth.urls en accounts/.
  • Crea notes/templates/registration/login.html: extiende notes/base.html y muestra el form en un formulario POST con un botón Log in.
  • Un inicio de sesión correcto lleva a /.
  • Debajo de You are not signed in., un enlace Log 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

Practica por tu cuenta: Playground de Django