Krótki opis i możliwości wykorzystania systemu sesji we frameworku Python Django.

Samo korzystanie z systemu sesji w Django jest bardzo proste i nie wymaga godzin konfiguracji czy pisania masy kodu. By to wszystko zaczęło działać musimy sprawdzić dwie rzeczy:

  • w settings.py w MIDDLEWARE_CLASSES mamy ‘django.contrib.sessions.middleware.SessionMiddleware
  • w settings.py w INSTALLED_APPS mamy ‘django.contrib.sessions

Gdy mamy aktywny middleware sesji to każdy request (HttpRequest) będzie miał atrybut session.

Przykład

s = request.session['klucz'] = 'wartosc'
print(s)

Po wykonaniu tego kodu w przeglądarce w terminalu z uruchomionym serwerem django zobaczymy wypisaną ‘wartosc’. Do request.session możemy wpisywać oraz odczytywać wartości, które uznamy za ważne.

Konfguracja

Sesję w django można konfigurować jak sobie tylko chcesz, ale najlepszym miejscem do tego jest settings.py:

  • SESSION_COOKIE_AGE – ważność sesji cookie w sekundach – domyślnie 2 tygodnie
  • SESSION_COOKIE_DOMAIN – domena ciasteczka. Ustawiając domenę ciasteczka na ‘staffmedia.pl’ mam dostęp do cookie w obrębie całej domeny i subdomen.
  • SESSION_COOKIE_NAME – nazwa cookie dla sesji – domyślnie sessionid.
  • SESSION_COOKIE_SECURE – sposób przsyłania cookie – jeśli True to leci po HTTPS
  • SESSION_EXPIRE_AT_BROWSER_CLOSE – gdy ustawimy na True to każde zamknięcie przeglądarki ubija sesję