Menu
CoddyTech

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.

challenge icon

Sfida

Facile

Aggiungi una pagina di accesso.

  1. In mysite/urls.py, includi django.contrib.auth.urls sotto accounts/.
  2. Crea notes/templates/registration/login.html estendendo notes/base.html, che mostri form in un modulo POST con {% csrf_token %} e un pulsante «Accedi».
  3. In settings.py, imposta LOGIN_REDIRECT_URL su "/".
  4. 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