Menu
CoddyTech

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.

challenge icon

Aufgabe

Einfach
  • Füge in mysite/urls.py django.contrib.auth.urls unter accounts/ ein.
  • Erstelle notes/templates/registration/login.html: Die Datei erweitert notes/base.html und zeigt das form in einem POST-Formular mit einer Schaltfläche Log in an.
  • Nach erfolgreicher Anmeldung gelangst du zu /.
  • Unter You are not signed in. befindet sich ein Link Log 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