Model User i authenticate()
Weryfikowanie danych logowania za pomocą wbudowanego użytkownika
Model User i authenticate() to bezpłatna lekcja Django Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Django Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Django Academy zawiera 4 lekcji w sumie.
Użytkownicy już są dostępni
Django zawiera kompletny model User, więc nie trzeba ręcznie tworzyć tabel kont. Przechowuje on nazwy użytkowników, hasła w postaci skrótów i wiele więcej. 👤
Gdzie znajduje się User
Model znajduje się w django.contrib.auth, aplikacji włączonej w nowych projektach. Wystarczy go zaimportować, aby uzyskać dostęp do całego zestawu narzędzi uwierzytelniania.
from django.contrib.auth.models import UserNajważniejsze pola użytkownika
Każdy użytkownik ma username, a także email, first_name i last_name. Są to codzienne pola odczytywane i wyświetlane w aplikacji.
Hasła nigdy nie są przechowywane wprost
Django przechowuje hash każdego hasła wraz z solą, nigdy jego rzeczywisty tekst. Nawet Państwo jako programiści nie mogą odczytać faktycznego hasła użytkownika. 🔒
Bezpieczne tworzenie użytkownika
Należy użyć create_user, aby hasło zostało automatycznie zahaszowane. Ręczne ustawienie hasła zapisałoby je w postaci jawnej.
User.objects.create_user(username="ada", password="secret123")Poznajmy authenticate()
Funkcja authenticate() sprawdza za Państwa nazwę użytkownika i hasło w bazie danych. Jest podstawą każdego procesu logowania.
from django.contrib.auth import authenticateJak działa authenticate()
Po przekazaniu danych uwierzytelniających funkcja zwraca pasujący obiekt użytkownika, jeśli są one poprawne. Nie trzeba samodzielnie pisać kodu haszującego ani wyszukującego.
user = authenticate(username="ada", password="secret123")Gdy dane uwierzytelniające są niepoprawne
Jeśli nazwa użytkownika lub hasło jest niepoprawne, authenticate() zwraca None. Zawsze należy to sprawdzić, zanim użytkownik zostanie uznany za zalogowanego.
if user is None:
print("Invalid credentials")Tylko aktywni użytkownicy
Flaga is_active pozwala wyłączać konta. Domyślnie authenticate() odmawia zwrócenia nieaktywnych użytkowników, blokując logowanie zablokowanych kont.
Pracownicy i superużytkownicy
Znaczenie mają dwie dodatkowe flagi: is_staff daje dostęp do panelu administracyjnego, a is_superuser przyznaje wszystkie uprawnienia. Większość użytkowników nie ma żadnej z nich.
Authenticate to nie logowanie
Proszę pamiętać: authenticate() jedynie potwierdza tożsamość. Nie rozpoczyna sesji, więc po tym wywołaniu użytkownik nie jest jeszcze zalogowany.
Szybkie sprawdzenie
Co zwraca authenticate(), gdy hasło jest niepoprawne?
Podsumowanie: użytkownicy i tożsamość
Poznali Państwo wbudowany w Django model User i użyli authenticate() do weryfikacji danych uwierzytelniających. Hasła pozostają zahaszowane, a nieudane sprawdzenie zwraca None. ✅
Często zadawane pytania
Czy lekcja „Model User i authenticate()” jest bezpłatna?
Tak — pełny tekst „Model User i authenticate()” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Django Academy, przejdź na CoddyKit PRO. Kurs Django Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Model User i authenticate()”?
Weryfikowanie danych logowania za pomocą wbudowanego użytkownika Ćwiczysz Django Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Django Academy?
Nie wymagamy żadnego doświadczenia. Django Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Model User i authenticate()”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Django Academy?
Tak. Każda lekcja Django Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Model User i authenticate()
- login, logout i widoki uwierzytelniania
- Rejestracja z UserCreationForm
- login_required i ochrona widoków