Ho Django in esecuzione in Apache tramite mod_wsgi. Credo che Django stia memorizzando nella cache le mie pagine lato server, il che sta causando il mancato funzionamento di alcune funzionalità.Come disabilitare la pagina di Django/mod_WSGI Caching
Ho un timer per il conto alla rovescia che funziona recuperando l'ora del server corrente, determinando il tempo rimanente del conto alla rovescia e inviando quel numero al modello HTML. Un timer per il conteggio alla rovescia javascript riprende e esegue il conto alla rovescia per l'utente.
Il problema sorge quando l'utente aggiorna la pagina o naviga verso una pagina diversa con il timer per il conto alla rovescia. Il timer sembra saltare saltuariamente in tempi diversi, di solito tornando alla stessa ora più e più volte su ogni aggiornamento.
Utilizzando HTTPFox, la pagina non viene caricata dalla cache del browser, quindi sembra che Django o Apache stiano memorizzando nella cache la pagina. C'è un modo per disabilitare questa funzionalità? Non avrò abbastanza traffico da preoccuparmi di mettere in cache l'output dello script. O mi sbaglio del tutto sul perché questo sta accadendo?
[Modifica] Dai post seguenti, sembra che il caching sia disabilitato in Django, il che significa che deve essere in corso altrove, forse in Apache?
[Modifica] Ho una descrizione più approfondita di ciò che sta accadendo: per le prime 7 (o così) richieste fatte al server, le pagine sono renderizzate dallo script e restituite, anche se ognuna di quelle 7 pagine sembra essere memorizzato nella cache come si presenta più tardi. All'ottava richiesta, il server serve la prima pagina. Alla nona richiesta, serve la seconda pagina e così via in un ciclo. Questo dura fino al riavvio di apache, quando il processo ricomincia.
[Modifica] Ho configurato mod_wsgi per eseguire solo un processo alla volta, il che fa sì che il timer ripristini lo stesso valore in ogni caso. È interessante notare che c'è un altro componente sulla mia pagina che visualizza un'immagine casuale su ogni richiesta, usando l'ordine ('?'), E che si aggiorna ogni volta con immagini diverse, il che indicherebbe che la cache sta accadendo in Django e non in Apache.
[Modifica] Alla luce della modifica precedente, sono tornato indietro e ho esaminato il file views.py pertinente, trovando che la variabile di inizio del conto alla rovescia veniva impostata globalmente nel modulo, al di fuori delle funzioni di visualizzazione. Lo spostamento di questa impostazione all'interno delle funzioni di visualizzazione ha risolto il problema. Dopotutto, si è scoperto che non si trattava di un problema di memorizzazione nella cache. Grazie a tutti per il vostro aiuto su questo.
http://www.djangobook.com/en/2.0/chapter15/ – cwallenpoole