Menu
CoddyTech

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.

challenge icon

Wyzwanie

Łatwy

Dodaj stronę logowania.

  1. W pliku mysite/urls.py uwzględnij django.contrib.auth.urls pod adresem accounts/.
  2. Utwórz plik notes/templates/registration/login.html rozszerzający notes/base.html, który wyświetla form w formularzu POST z {% csrf_token %} i przyciskiem Log in.
  3. W pliku settings.py ustaw LOGIN_REDIRECT_URL na "/".
  4. W pliku base.html dodaj odnośnik Log in prowadzą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