Domanda

Ho un piccolo frammento che voglio nella mia barra laterale. Il frammento sarà visibile in ogni pagina, e mentre a buon mercato per andare a prendere (circa 50ms sul mio netbook super-slow!), Cambierà così raramente che avevo abbastanza piace mettere in cache è (in parte perché ho ancora utilizzare la cache di Django quadro, e mi piacerebbe imparare).

Non sono sicuro di ciò che il modo migliore per andare qui è - il middleware o un tag modello personalizzato? Io non sono sicuro di come sarebbe facile per implementare la cache con questi approcci. Questa è una cosa normale a voler fare (cioè, caching dei frammenti di un frammento visibile in ogni pagina) che sono sicuro che ci sia un Djangonic modo per farlo, ma non riesco a trovare quello che è.

Come si fa a farlo?

È stato utile?

Soluzione

Non credo che è necessario utilizzare il middleware. Un tag modello personalizzato avrebbe funzionato per questo. Dal momento che si sta facendo qualcosa di simile a un messaggio di stato, sarebbe estraneo a tutto ciò che la vista corrente è, in modo che il tag è sicuramente appropriata.

Basta impostare la cache di back-end ( questo è molto facile da fare ) e si avrà accesso a cache.set() e metodi cache.get() che è possibile utilizzare per archiviare e recuperare il messaggio di stato. Assicurarsi di cancellare la cache ogni volta che viene aggiornato il messaggio di stato.

Altri suggerimenti

Questo suona perfetto per frammento Template caching .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top