Question

J'ai un petit extrait que je veux dans ma barre latérale. L'extrait sera visible sur chaque page, et tout pas cher pour aller chercher (environ 50 ms sur mon netbook super lent!), Changera si rarement que j'aimerais assez en cache (en partie parce que je n'ai pas encore utiliser le cache de Django cadre, et je voudrais apprendre).

Je ne sais pas quelle est la meilleure façon d'aller ici est - middleware ou un tag modèle personnalisé? Je ne sais pas comment il serait facile de mettre en œuvre la mise en cache avec ces approches. Ceci est une chose norme à vouloir faire (c'est, la mise en cache de fragment d'un fragment visible sur chaque page) que je suis sûr qu'il ya un Djangonic façon de le faire, mais je ne peux pas trouver ce qu'il est.

Comment faites-vous?

Était-ce utile?

La solution

Je ne pense pas que vous devez utiliser un middleware. Une étiquette de modèle personnalisé travaillerait pour cela. Depuis que vous faites quelque chose comme un message d'état, il serait sans rapport avec ce que la vue actuelle est, de sorte que la balise est certainement appropriée.

Il suffit de configurer le cache arrière-plan ( ce qui est très facile à faire ) et vous aurez accès à cache.set() et les méthodes de cache.get() que vous pouvez utiliser pour stocker et récupérer votre message d'état. Assurez-vous de vider le cache à chaque fois que le message d'état est mis à jour.

Autres conseils

Cela semble parfait pour mise en cache de fragments de modèle .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top