Mam Django działającego w Apache przez mod_wsgi. Uważam, że Django buforuje moje strony po stronie serwera, co powoduje, że niektóre funkcje nie działają poprawnie.Jak wyłączyć Django/mod_WSGI Buforowanie stron
Mam zegar odliczający, który działa, pobierając bieżący czas serwera, określając pozostały czas odliczania i wyświetlając ten numer w szablonie HTML. Odliczanie czasu javascript następnie przejmuje i uruchamia odliczanie dla użytkownika.
Problem powstaje, gdy użytkownik odświeża stronę lub przechodzi na inną stronę z zegarem odliczającym. Czasomierz wydaje się skakać do różnych czasów sporadycznie, zwykle wracając do tego samego czasu w kółko po każdym odświeżeniu.
Przy użyciu HTTPFox strona nie jest ładowana z pamięci podręcznej przeglądarki, więc wygląda na to, że Django lub Apache buforuje stronę. Czy istnieje sposób wyłączenia tej funkcji? Nie będę mieć wystarczająco dużo ruchu, aby martwić się buforowaniem danych wyjściowych skryptu. Czy całkowicie błędnie rozumiem, dlaczego tak się dzieje?
[Edytuj] Z postów poniżej wygląda na to, że buforowanie jest wyłączone w Django, co oznacza, że musi się zdarzyć gdzie indziej, być może w Apache?
[Edytuj] Mam dokładniejszy opis tego, co się dzieje: W przypadku pierwszych 7 (lub mniej) żądań wysłanych do serwera, strony są renderowane przez skrypt i zwracane, chociaż każda z tych 7 stron wydaje się być być zbuforowane, jak pokazuje później. W ósmym żądaniu serwer wyświetla pierwszą stronę. W dziewiątym żądaniu podaje drugą stronę i tak dalej w cyklu. Trwa to do czasu ponownego uruchomienia apache, kiedy proces zaczyna się od nowa.
[Edytuj] Skonfigurowałem mod_wsgi do uruchamiania tylko jednego procesu na raz, co powoduje, że zegar resetuje się do tej samej wartości w każdym przypadku. Interesujące jest jednak to, że na mojej stronie znajduje się inny komponent, który wyświetla losowy obraz na każdym żądaniu, używając polecenia ("?"), I który odświeża za każdym razem różne obrazy, co wskazuje, że buforowanie odbywa się w Django, a nie w Apache.
[Edytuj] W świetle poprzedniej edycji, wróciłem i przejrzałem odpowiedni plik views.py, stwierdzając, że zmienna startowa odliczania była ustawiana globalnie w module, poza funkcjami widoku. Przesunięcie tego ustawienia wewnątrz funkcji widoku rozwiązało problem. W końcu okazało się, że nie jest to kwestia buforowania. Dziękuję wszystkim za pomoc w tej sprawie.
http://www.djangobook.com/en/2.0/chapter15/ – cwallenpoole