Logowanie
Część sekcji Użytkownicy i konta ścieżki Django w Coddy. Lekcja 2 z 16.
Witryna potrafi rozpoznać, kto jest zalogowany, ale nie ma strony logowania. Django ma widok LoginView. Jedna linijka w pliku urls.py projektu dodaje go wraz ze stronami wylogowania i zmiany hasła:
path("accounts/", include("django.contrib.auth.urls")),Teraz istnieje adres /accounts/login/ o nazwie login. Widok renderuje registration/login.html z formularzem form, który zawiera pola username i password. Ten szablon musisz napisać samodzielnie: to zwykły formularz POST. Django szuka w folderze templates/ każdej aplikacji. Ścieżka zaczyna się od registration/, a nie od notes/, ponieważ widok Django nie zna twojej aplikacji.
Po udanym logowaniu widok przekierowuje do LOGIN_REDIRECT_URL. Jego domyślna wartość, /accounts/profile/, tutaj nie istnieje, więc ustaw ją w settings.py.
Wyzwanie
ŁatwyDodaj stronę logowania.
- W pliku
mysite/urls.pyuwzględnijdjango.contrib.auth.urlspod adresemaccounts/. - Utwórz plik
notes/templates/registration/login.htmlrozszerzającynotes/base.html, który wyświetlaformw formularzu POST z{% csrf_token %}i przyciskiemLog in. - W pliku
settings.pyustawLOGIN_REDIRECT_URLna"/". - W pliku
base.htmldodaj odnośnikLog inprowadzący do{% url 'login' %}dla niezalogowanych użytkowników.
Zaloguj się jako ada (hasło coddy-pass-123): nagłówek wyświetla „Zalogowano jako ada”.
Spróbuj swoich sił
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path("admin/", admin.site.urls),
path("", include("notes.urls")),
]
Wszystkie lekcje w sekcji Użytkownicy i konta
Poćwicz samodzielnie: Edytor online Django