Django Academy · Lektion

login, logout og auth-views

Forbind Djangos færdige auth-views

Lektion 2 af 413 trin

login, logout og auth-views er en gratis Django Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Django Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Django Academy-kurset indeholder 4 lektioner i alt.

Fra kontrol til logget ind

At kontrollere en bruger er kun første trin. Hvis brugeren skal forblive logget ind på tværs af forespørgsler, starter du en session med Djangos login-hjælpefunktion. 🔑

Funktionen login()

login() modtager forespørgslen og en godkendt bruger og gemmer derefter brugerens id i sessionen. Fremtidige forespørgsler ved nu, hvem brugeren er.

from django.contrib.auth import login

Brug login() i en visning

Når authenticate() lykkes, kalder du login(request, user). Fra dette tidspunkt er request.user den person, der er logget ind, ikke en gæst.

if user is not None:
    login(request, user)

Funktionen logout()

Afslut en session ved at kalde logout(request). Den rydder det gemte bruger-id og alle sessionsdata, der er knyttet til besøget. 👋

from django.contrib.auth import logout
logout(request)

request.user overalt

Når brugeren er logget ind, er request.user tilgængelig i alle visninger. Kontrollér user.is_authenticated for at skelne medlemmer fra anonyme besøgende.

if request.user.is_authenticated:
    name = request.user.username

Spring standardkoden over

Django leverer færdige auth views, så du ikke selv skal skrive login-sider. De håndterer formularen, valideringen og sessionen for dig.

Forbind auth-URL'er

Inkluder django.contrib.auth.urls for straks at få ruter til login, logout og adgangskoder under en sti, du selv vælger.

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

LoginView i praksis

Den indbyggede LoginView viser en formular og logger brugeren ind, hvis det lykkes. Du skal primært levere en skabelon med navnet registration/login.html.

LoginView-skabelonens kontekst

LoginView sender en variabel med navnet form til din skabelon. Du skal blot vise formularen i en POST, så håndterer Django resten.

Hvor brugeren kommer hen efter login

Angiv LOGIN_REDIRECT_URL i indstillingerne for at bestemme, hvor brugerne lander efter et vellykket login, f.eks. på et kontrolpanel.

LOGIN_REDIRECT_URL = "/dashboard/"

Omdirigering efter logout

Den tilsvarende LogoutView afslutter sessionen, og LOGOUT_REDIRECT_URL bestemmer, hvor brugere, der har logget ud, sendes hen bagefter.

Hurtigt tjek

Hvilken funktion starter faktisk en session for en bruger, der er logget ind?

Opsummering: Sessioner og auth views

Du brugte login() og logout() til at håndtere sessioner og forbandt Djangos auth views med indstillinger for omdirigering, så du undgår overflødig standardkode. ✅

Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “login, logout og auth-views” gratis?

Ja — alle 3 lektioner i læringssporet Django Academy, inklusive “login, logout og auth-views”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Django Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “login, logout og auth-views”?

Forbind Djangos færdige auth-views Du øver dig i Django Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Django Academy?

Der kræves ingen tidligere erfaring. Django Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “login, logout og auth-views”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Django Academy-lektion?

Ja. Alle Django Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. User-modellen og authenticate()
  2. login, logout og auth-views
  3. Registrering med UserCreationForm
  4. login_required og beskyttelse af views
← Tilbage til Django Academy