django-cache-purge-hooks

Software skärmdump:
django-cache-purge-hooks
Mjukvaruinformation:
Version: 0.3.0
Ladda upp dagen: 14 Apr 15
Utvecklare: Shu Zong Chen
Licens: Gratis
Popularitet: 1

Rating: 3.5/5 (Total Votes: 2)

django-cache-purge-krokar är en återanvändbar Django app för att hantera cache ogiltig.
Denna app ger grunden en mekanism för att enkelt haka i modellcallbacks till när det behövs ogiltigförklara din front-end-cache.
För närvarande, bara en lack backend implementeras, men designen skapades med andra möjliga backends i åtanke.
Användning
Lägg "cache_purge_hooks" till din INSTALLED_APPS.
#our låtsas modell
klassen Post (models.Model):
& Nbsp; title = models.CharField (MAX_LENGTH = 200)
& Nbsp; Slug = models.SlugField (unikt = Sant, MAX_LENGTH = 200)
& Nbsp; kropp = models.TextField (tom = Sant, null = sant)
från cache_purge_hooks import cache_purge_hook
cache_purge_hook (Post)
Som framgår ovan innehåller cache_purge_hooks modul en funktion cache_purge_hook. Passera in som första argumentet en modell. De cache mekanismen piggy-backs på modellen instansens get_absolute_url () metoden och rensar backend cache för just url.
Om någon instans har flera relaterade webbadresser, definiera en anpassade get_absolute_urls () metod som returnerar en lista med webbadresser att ogiltigförklara:
klass Kategori (models.Model):
& Nbsp; name = models.CharField (MAX_LENGTH = 200)
& Nbsp; Slug = models.SlugField (unikt = Sant, MAX_LENGTH = 200)
& Nbsp; title = models.CharField (MAX_LENGTH = 127, tomt = sant)
& Nbsp; def get_absolute_url (själv):
& Nbsp; & nbsp; & nbsp; återvända bakåt ("kategori", kwargs = {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Kategorin": self.slug
& Nbsp; & nbsp; & nbsp; })
& Nbsp; def get_absolute_urls (egen):
& Nbsp; & nbsp; & nbsp; gau = self.get_absolute_url ()
& Nbsp; & nbsp; & nbsp; återvända [gau, bakåt ("blog_home '),]
I ovanstående modell, har vi ett blogginlägg Kategori modell. Det är get_absolute_url () metoden är knuten till en viss namngiven sträckan enligt urls.py, men någon förändring till kategorin måste också återspeglas i bloggen hemsidan (säg till exempel hemsidan innehåller en tagg moln av alla kategorier). Denna sida ska ogiltigförklaras när denna information ändras.
Lägg märke till att du måste också ta uttryckligen get_absolute_url () värde. Det kommer inte att bli synad om get_absolute_urls () existerar.
Om det inte är för att passa dig, kan du också passera som en 2: a argumentet att purge_related_blog en funktion som tar en instans och returnerar en lista med webbadresser.
Till exempel:
från facebook_comments.models importera FacebookCommentCache
def purge_related_blog (exempel):
& Nbsp; pr = urlparse.urlparse (instance.url)
& Nbsp; återvända [pr.path,]
cache_purge_hook (FacebookCommentCache, purge_related_blog)
Detta är också användbart eftersom i fallet ovan, är platsen utnyttjar en annan återanvändbar app (facebook_cached_comments). . Detta är mycket bättre än att hacka upp en tredje part kod för att ge en get_absolue_urls ()

Krav :

  • Python
  • Django
  • python-lack

Annan programvara för utvecklare Shu Zong Chen

Kommentarer till django-cache-purge-hooks

Kommentarer hittades inte
Kommentar
Slå på bilder!