Mam witrynę internetową, która przedstawia różne treści w zależności od lokalizacji wybranej przez użytkownika. np .: Użytkownik wprowadza kod 55812 jako kod pocztowy. Wiem, w jakim mieście i na jakim obszarze lat / długo. to znaczy i przekazać im treść dotyczącą tego obszaru. Moje pytanie brzmi: jak mogę to zapisać w pliku cookie, aby po powrocie nie musieli zawsze wpisywać swojego kodu pocztowego?
Widzę to następująco:
- Ustaw trwałe pliki cookie na podstawie ich obszaru.
- Kiedy wrócą, przeczytaj plik cookie, pobierz kod pocztowy.
- Zwróć zawartość na podstawie kodu pocztowego w pliku cookie.
Nie mogę znaleźć żadnych rzetelnych informacji na temat tworzenia plików cookie. Każda pomoc jest mile widziana.
cookie
irendering a template
razem, zobacz tę odpowiedź.Odpowiedzi:
AKTUALIZACJA : sprawdź odpowiedź Petera poniżej, aby uzyskać wbudowane rozwiązanie:
To jest pomocnik do ustawienia trwałego pliku cookie:
Użyj poniższego kodu przed wysłaniem odpowiedzi.
AKTUALIZACJA : sprawdź odpowiedź Petera poniżej, aby uzyskać wbudowane rozwiązanie:
źródło
Używanie struktury sesji Django powinno obejmować większość scenariuszy, ale Django zapewnia teraz również metody bezpośredniej manipulacji plikami cookie na obiektach żądań i odpowiedzi (więc nie potrzebujesz funkcji pomocniczej).
Ustawienie pliku cookie:
Pobieranie pliku cookie:
źródło
Możesz ręcznie ustawić plik cookie, ale w zależności od twojego przypadku użycia (i jeśli możesz chcieć dodać więcej typów danych trwałych / sesji w przyszłości), bardziej sensowne może być użycie funkcji sesji Django . To ci pozwoli uzyskać i ustawić zmienne powiązane wewnętrznie z plikiem cookie sesji użytkownika. Fajne w tym jest to, że jeśli chcesz przechowywać dużo danych związanych z sesją użytkownika, przechowywanie ich wszystkich w plikach cookie doda dużo wagi żądaniom i odpowiedziom HTTP. W przypadku sesji plik cookie sesji to wszystko, co jest przesyłane tam iz powrotem (chociaż należy pamiętać o narzutach związanych z przechowywaniem danych sesji przez Django).
źródło
Każdy, kto jest zainteresowany zrobieniem tego, powinien przeczytać dokumentację frameworka Django Sessions . Przechowuje identyfikator sesji w plikach cookie użytkownika, ale mapuje wszystkie dane podobne do plików cookie w Twojej bazie danych. Jest to ulepszenie typowego przepływu pracy opartego na plikach cookie dla żądań HTTP.
Oto przykład z widokiem Django ...
Jeśli będziesz odwiedzać tę stronę w kółko, zobaczysz, że wartość zaczyna rosnąć od 1 do momentu wyczyszczenia plików cookie, wizyty w nowej przeglądarce, przejścia w tryb incognito lub zrobienia czegokolwiek innego, co pomija plik cookie z identyfikatorem sesji Django.
źródło