/ / Zapamiętaj wartość wybranego pola dla sesji - python, django, session, cookies, django-rest-framework

Zapamiętaj wartość wybranego pola sesji - python, django, session, cookies, django-rest-framework

Problem: Tworzę aplikację internetową w Django. Mam dwa pola HTML SELECT na górze mojego nagłówka. Muszę pamiętać wartości tych pól SELECT dla całej sesji. Co więcej, jeśli ktoś zmieni dowolne pole SELECT, muszę o tym pamiętać.

Obecne podejście: Używam dwóch zmiennych w URI i zmieniam je, jeśli ktoś zmieni pole SELECT (na przykład: http://127.0.0.1:8000/index?foo=1&bar=44). Moim zdaniempy, I "m" GET "zmieniam te zmienne w KAŻDEJ POJEDYNCZEJ funkcji widoku. Wszystko działa dobrze i dobrze, ale czuję, że jest to dość brzydkie podejście, jakby ktoś ręcznie zmienił zmienną identyfikatora URI, na pewno wystąpi błąd.

Tak jak program django-rest pamiętaużytkownik zalogowany, czy jest jakiś sposób na jednoczesne zapamiętanie wartości w szablonach i widokach Django? Słyszałem o ciasteczkach, ale nie mogłem znaleźć sposobu na zmianę zmiennych ciasteczek w szablonach.

Odpowiedzi:

1 dla odpowiedzi № 1

Nie wymyślaj ponownie koła. W Django są wbudowane sesje. Wystarczy wywołać żądanie AJAX za pomocą javascript za każdym razem, gdy ktoś zmieni jedną z wybranych opcji.

Aby obsłużyć żądanie AJAX, wystarczy użyć request.session obiekt podobny do dict do przechowywania zmienionych wartości.