0Pricing
Django Academy · Lekcja

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 weeks

Usuwanie 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 clearsessions

Anonimowi 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

  1. The Session Framework
  2. Odczyt i zapis request.session
  3. The Messages Framework
  4. Cookies a sesje
← Powrót do Django Academy