Anmelden
Teil des Abschnitts Benutzer und Konten der Django-Journey von Coddy. Lektion 2 von 16.
Die Website kann erkennen, wer angemeldet ist, aber sie hat keine Seite zum Anmelden. Django stellt die Ansicht LoginView bereit. Eine Zeile in der urls.py des Projekts fügt sie zusammen mit den Abmelde- und Passwortseiten hinzu:
path("accounts/", include("django.contrib.auth.urls")),Nun gibt es /accounts/login/ mit dem Namen login. Die Ansicht rendert registration/login.html mit einem form, das ein Feld für username und eines für password enthält. Diese Vorlage schreibst du selbst: ein gewöhnliches POST-Formular. Django sucht sie im Ordner templates/ jeder App. Ihr Name enthält keinen App-Namen, weil Djangos Ansicht deine Apps nicht kennt.
Nach einer erfolgreichen Anmeldung leitet die Ansicht zu LOGIN_REDIRECT_URL weiter. Der Standardwert /accounts/profile/ existiert hier nicht, also lege den Wert in settings.py fest.
Aufgabe
Einfach- Füge in
mysite/urls.pydjango.contrib.auth.urlsunteraccounts/ein. - Erstelle
notes/templates/registration/login.html: Die Datei erweitertnotes/base.htmlund zeigt dasformin einem POST-Formular mit einer SchaltflächeLog inan. - Nach erfolgreicher Anmeldung gelangst du zu
/. - Unter
You are not signed in.befindet sich ein LinkLog in.
Klicke auf Run und melde dich dann als ada an (Passwort coddy-pass-123).
Probier es selbst
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path("admin/", admin.site.urls),
path("", include("notes.urls")),
]
Alle Lektionen in Benutzer und Konten
Übe selbstständig: Django-Playground