django-cache-purge-hooks

Software screenshot:
django-cache-purge-hooks
Podrobnosti Software:
Verze: 0.3.0
Datum uploadu: 14 Apr 15
Vývojka: Shu Zong Chen
Licence: Volný
Popularita: 1

Rating: 3.5/5 (Total Votes: 2)

Django-cache-podlití háky je znovu použitelný app Django zvládnout mezipaměti zneplatnění.
Tato aplikace v podstatě poskytuje mechanismus pro snadné připojení do modelu zpětná volání, když je třeba zrušit váš front-end cache.
V současné době, jen lak backend je implementován, ale návrh byl vytvořen s dalšími možnými backends v mysli.
Použít
Přidat 'cache_purge_hooks' na váš INSTALLED_APPS.
#our předstírat modelu
třída Post (models.Model):
& Nbsp; title = models.CharField (MAX_LENGTH = 200)
& Nbsp; slimák = models.SlugField (jedinečný = True, MAX_LENGTH = 200)
& Nbsp; body = models.TextField (prázdný = True, null = True)
od cache_purge_hooks dovozu cache_purge_hook
cache_purge_hook (Post)
Jak je uvedeno výše, cache_purge_hooks modul obsahuje funkci cache_purge_hook. Přihrávka se jako první argument model. Na vyrovnávací mechanismus Piggy-Back o způsobu modelu instance get_absolute_url () a vymaže backend mezipaměť pro tento konkrétní URL.
Pokud se některý instance má více souvisejících adres URL, definovat metodu vlastní get_absolute_urls (), která vrací seznam adres URL k neplatným:
třída kategorie (models.Model):
& Nbsp; name = models.CharField (MAX_LENGTH = 200)
& Nbsp; slimák = models.SlugField (jedinečný = True, MAX_LENGTH = 200)
& Nbsp; title = models.CharField (MAX_LENGTH = 127, prázdný = True)
& Nbsp; def get_absolute_url (self):
& Nbsp; & nbsp; & nbsp; Návrat zpětného ("kategorie", kwargs = {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Kategorie": self.slug
& Nbsp; & nbsp; & nbsp; })
& Nbsp; DEF get_absolute_urls (sebe):
& Nbsp; & nbsp; & nbsp; Gau = self.get_absolute_url ()
& Nbsp; & nbsp; & nbsp; návrat [Gau, reverzní ("blog_home"),]
Ve výše uvedeném modelu, máme kategorie modelu blog post. Je to metoda get_absolute_url () je vázána na určité trase s názvem definované v urls.py, ale každá změna kategorie musí být rovněž odráží v blogu domovské stránce (řekněme například, domácí stránka obsahuje tag cloud všech kategorií). Tato stránka musí být prohlášena za neplatnou, pokud dojde ke změně těchto informací.
Všimněte si, musíte také explicitně chytit hodnotu get_absolute_url (). To nebude mít tzv pokud get_absolute_urls () existuje.
Pokud to není podle vašich představ, můžete také předat jako 2. argument purge_related_blog funkci, která vezme instanci a vrátí seznam adres URL.
Například:
od facebook_comments.models import FacebookCommentCache
def purge_related_blog (instance):
& Nbsp; pr = urlparse.urlparse (instance.url)
& Nbsp; návrat [pr.path,]
cache_purge_hook (FacebookCommentCache, purge_related_blog)
To je také užitečné, protože ve výše uvedeném případě, místo využívá jinou aplikaci na jedno použití (facebook_cached_comments). . Je to mnohem lepší, než hacking do kódu třetí strany, aby get_absolue_urls ()

Požadavky na :

  • Python
  • Django
  • python-lak

Ostatní software developer Shu Zong Chen

Komentáře k django-cache-purge-hooks

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!