805. Jak działa localStorage w Django?

    localStorage:
        Jeden z głównych mechanizmów dostępnych poprzez Web Storage API, pozwala przechowywać dane bez określonej daty wygaśnięcia.
        Oznacza to, że dane pozostaną dostępne po opuszczeniu strony internetowej, zamknięciu karty lub przeglądarki, a nawet po wyłączeniu urządzenia.
        Dane zapisywane są w formacie klucz-wartość. Idealnie nadaje się do magazynowania niewrażliwych danych.
    
    *** Django samo w sobie nie ma wbudowanej integracji z Local Storage. Do obsługi Local Storage potrzeba użyć customowo JavaScriptu.
    
    Podstawowe operacje w Local Storage:
    
        Zapisywanie danych:
            localStorage.setItem('klucz', 'wartość');
        Odczytywanie danych:
            const value = localStorage.getItem('klucz');
            console.log(value);
        Usuwanie jednego elementu:
            localStorage.removeItem('klucz');
        Czyszczenie całego Local Storage:
            localStorage.clear();
    
        Liczba zapisanych kluczy w Local Storage:
            console.log(localStorage.length);
    
        Iteracja po kluczach w Local Storage:
            for (let i = 0; i < localStorage.length; i++) {
                const key = localStorage.key(i);  // Pobiera nazwę klucza
                console.log(key, localStorage.getItem(key));  // Wyświetla klucz i wartość
                }
    
    Kiedy wykorzystać Local Storage w Django?
        1. Zapisywanie danych na froncie:
           - Przechowywanie danych, które nie muszą być przesyłane do serwera, np. preferencji użytkownika (ciemny tryb, język interfejsu).
           - Przechowywanie tymczasowych danych formularzy (np. wypełnianie części formularza, które użytkownik chce dokończyć później).
        2. Zwiększenie wydajności:
           - Cache'owanie często pobieranych danych, np. listy kategorii produktów, które są rzadko aktualizowane.
           - Unikanie ponownych zapytań do API.
        3. Wsparcie aplikacji offline:
           - Zapisywanie danych w Local Storage w celu umożliwienia działania aplikacji bez połączenia z Internetem.
    
    
    SessionStorage:
    *** Django samo w sobie nie ma wbudowanej integracji z Session Storage. Do obsługi Local Storage potrzeba użyć customowo JavaScriptu.
    
    Podstawowe operacje w Session Storage:
    
        Zapisywanie danych:
            sessionStorage.setItem('klucz', 'wartość');  // Session Storage
    
        Odczytywanie danych:
            const sessionValue = sessionStorage.getItem('klucz');  // Session Storage
            console.log(sessionValue);
    
        Usuwanie danych:
            sessionStorage.removeItem('klucz');
            sessionStorage.clear();  // Usuwa wszystkie dane z Session Storage