Menu
CoddyTech

Accesso

Fa parte della sezione Utenti e account del percorso Django di Coddy. Lezione 2 di 16.

Il sito può riconoscere chi ha effettuato l’accesso, ma non ha una pagina per accedervi. Django include la vista LoginView. Basta aggiungere una riga al file urls.py del progetto per abilitarla, insieme alle pagine di disconnessione e di gestione delle password:

path("accounts/", include("django.contrib.auth.urls")),

Ora esiste /accounts/login/, con nome login. La vista mostra registration/login.html con un form che contiene un campo username e un campo password. Spetta a te scrivere quel template: un normale modulo POST. Django lo cerca nella cartella templates/ di ogni app e il suo nome non include il nome di un’app, perché la vista di Django non conosce le tue app.

Dopo un accesso riuscito, la vista reindirizza a LOGIN_REDIRECT_URL. Il valore predefinito, /accounts/profile/, qui non esiste, quindi imposta questa variabile in settings.py.

challenge icon

Sfida

Facile
  • In mysite/urls.py, includi django.contrib.auth.urls sotto accounts/.
  • Crea notes/templates/registration/login.html: estende notes/base.html e mostra form in un modulo POST con un pulsante Log in.
  • Un accesso riuscito porta a /.
  • Sotto You are not signed in., inserisci un link Log in.

Premi Esegui, quindi accedi come ada (password coddy-pass-123).

Provalo tu

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path("admin/", admin.site.urls),
    path("", include("notes.urls")),
]

Tutte le lezioni di Utenti e account

Esercitati da solo: Playground Django