Accesso
Fa parte della sezione Utenti e account del percorso Django di Coddy. Lezione 2 di 16.
Il sito sa chi ha effettuato l’accesso, ma non ha una pagina per accedere. Django dispone della vista LoginView. Una riga nel file urls.py del progetto la aggiunge, insieme alle pagine di disconnessione e della password:
path("accounts/", include("django.contrib.auth.urls")),Ora esiste /accounts/login/, con nome login. La vista visualizza registration/login.html con un form che contiene un campo username e un campo password. Sta a te scrivere quel template: un normale modulo POST. Django cerca nella cartella templates/ di ogni app. Il percorso inizia con registration/, non con notes/, perché la vista di Django non conosce la tua app.
Dopo un accesso riuscito, la vista reindirizza a LOGIN_REDIRECT_URL. Il suo valore predefinito, /accounts/profile/, qui non esiste, quindi impostalo in settings.py.
Sfida
FacileAggiungi una pagina di accesso.
- In
mysite/urls.py, includidjango.contrib.auth.urlssottoaccounts/. - Crea
notes/templates/registration/login.htmlestendendonotes/base.html, che mostriformin un modulo POST con{% csrf_token %}e un pulsante «Accedi». - In
settings.py, impostaLOGIN_REDIRECT_URLsu"/". - In
base.html, per i visitatori che non hanno effettuato l'accesso, inserisci un collegamento «Accedi» a{% url 'login' %}.
Accedi come ada (password coddy-pass-123): nell'intestazione compare «Accesso effettuato come ada».
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