2013-07-03 2 views
0

Une de mes pages a un bloc généré avec cette clé:Modèles Python - Mako - Comment invalider le cache?

<%block cached="True" cache_key="${(month, year, timezone, admin)}"> 

Pour infirment appeler un mois/année spécifique, boucle I à tous les fuseaux horaires/admin (50):

template.cache.invalidate((month, year, timezone, admin)) 

Parfois, je voudrais invalider tout ce bloc. Je ne veux pas parcourir toutes les valeurs de month/year/timezone/admin, car cela prendrait une éternité.

Existe-t-il un moyen simple d'accomplir ceci?

Je suis prêt à invalider la totalité du cache pour ce modèle. J'utilise le back-end Beaker. J'espère que Mako a un moyen d'accomplir ces tâches de base, mais je serais prêt à utiliser Beaker directement si nécessaire.

Répondre

0

Actuellement, je suis en utilisant ce code spécifique Beaker pour effacer le cache complet pour un modèle spécifique:

kw = template.cache._get_cache_kw({}, None) 
cache = self.cache_manager.get_cache(template.cache.impl.cache.id, **kw) 
cache.clear() 

Je ne peux pas croire que Mako ne prend pas en charge de base pour cette opération ... ont J'ai oublié quelque chose?

Questions connexes