The Session Framework
Przechowywanie danych powiązanych z pojedynczym odwiedzającym
The Session Framework 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.
Po co istnieją sesje
HTTP nie pamięta użytkownika między żądaniami. Framework sesji pozwala Django pamiętać każdego odwiedzającego podczas kolejnych ładowań stron, dzięki czemu logowanie lub zawartość koszyka może zostać zachowana. 🍪
Co przechowuje sesja
Sesja to niewielki zbiór danych powiązany z jednym odwiedzającym. Django przechowuje go na serwerze, a przeglądarce przekazuje tylko klucz umożliwiający ponowne odnalezienie tych danych.
Plik cookie sesji
Django ustawia w przeglądarce plik cookie o nazwie sessionid. Zawiera on wyłącznie klucz sesji, nigdy prywatne dane, które pozostają bezpieczne na serwerze.
Jest już włączony
SessionMiddleware jest domyślnie włączony w każdym nowym projekcie, więc sesje działają od razu bez dodatkowej konfiguracji.
MIDDLEWARE = [
'django.contrib.sessions.middleware.SessionMiddleware',
]Aplikacja sesji
Aplikacja django.contrib.sessions znajduje się w INSTALLED_APPS i po uruchomieniu migrate tworzy tabelę do przechowywania danych sesji.
Gdzie są przechowywane dane
Domyślnie Django przechowuje sesje w bazie danych. Każdy wiersz zawiera klucz, zakodowane dane i datę wygaśnięcia dla danego odwiedzającego.
Wybór backendu
Miejsce przechowywania wybiera się za pomocą SESSION_ENGINE. Backend cache lub cached_db przechowuje sesje w pamięci, zapewniając znacznie szybszy odczyt w obciążonych serwisach.
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'Dostęp do sesji
W dowolnym widoku sesja jest dostępna w żądaniu jako request.session. Zachowuje się jak zwykły słownik Pythona, który można odczytywać i modyfikować.
def home(request):
request.session['theme'] = 'dark'
return render(request, 'home.html')Sesje wygasają
Sesje nie trwają wiecznie. SESSION_COOKIE_AGE określa czas życia w sekundach; domyślnie wynosi on dwa tygodnie, po których odwiedzający zostaje zapomniany.
SESSION_COOKIE_AGE = 1209600 # two weeksUsuwanie starych sesji
Wygasłe wiersze pozostają w bazie danych. Uruchamiaj cyklicznie clearsessions, aby usuwać nieaktualne dane i utrzymywać porządek w tabeli.
python manage.py clearsessionsAnonimowi i zalogowani
Sesje śledzą zarówno anonimowych, jak i zalogowanych odwiedzających. Dzięki temu gość może zapełnić koszyk, zanim jeszcze utworzy konto.
Szybkie sprawdzenie
Sprawdźmy, gdzie faktycznie znajdują się dane sesji.
Podsumowanie
Poznano framework sesji: pamięta on odwiedzających między żądaniami, przechowuje dane po stronie serwera i działa automatycznie dzięki SessionMiddleware. Następnie nauczysz się odczytywać i zapisywać dane sesji. ✅
Często zadawane pytania
Czy lekcja „The Session Framework” jest bezpłatna?
Tak — pełny tekst „The Session Framework” 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 „The Session Framework”?
Przechowywanie danych powiązanych z pojedynczym odwiedzającym Ć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 „The Session Framework”?
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
- The Session Framework
- Odczyt i zapis request.session
- The Messages Framework
- Cookies a sesje