Use middleware ou uma etiqueta modelo personalizado para raramente mudando trecho
-
12-09-2019 - |
Pergunta
Eu tenho um pequeno trecho que eu quero na minha barra lateral. O trecho será visível em cada página, e enquanto barato para buscar (cerca de 50ms no meu netbook super-lento!), Vai mudar tão raramente que eu gosto bastante para armazenar em cache-lo (em parte porque eu ainda tenho que usar o cache do Django quadro, e eu gostaria de aprender).
Eu não tenho certeza qual é o melhor caminho a percorrer aqui é - middleware ou uma etiqueta modelo personalizado? Eu não sei como seria fácil de implementar cache com essas abordagens. Isto é uma coisa normal querer fazer (ou seja, o cache de fragmento de um fragmento visível em cada página) que eu tenho certeza que há um Djangonic maneira de fazê-lo, mas não consigo encontrar o que é.
Como você faz isso?
Solução
Eu não acho que você precisa usar middleware. A tag modelo personalizado iria trabalhar para isso. Desde que você está fazendo algo como uma mensagem de status, seria sem relação com qualquer que seja a visão atual é, portanto, o tag é definitivamente o caso.
Basta configurar o back-end cache ( isso é muito fácil de fazer ) e você terá acesso a cache.set()
e cache.get()
métodos que você pode usar para armazenar e recuperar sua mensagem de status. Certifique-se de limpar o cache sempre que a mensagem de status é atualizado.
Outras dicas
Este sons perfeito para Template fragmento cache .