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.