login, logout og auth-views
Forbind Djangos færdige auth-views
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 loginBrug 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.usernameSpring 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. ✅
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
- User-modellen og authenticate()
- login, logout og auth-views
- Registrering med UserCreationForm
- login_required og beskyttelse af views