django-cache-purge-hooks

Software screenshot:
django-cache-purge-hooks
Software informatie:
Versie: 0.3.0
Upload datum: 14 Apr 15
Ontwikkelaar: Shu Zong Chen
Licentie: Gratis
Populariteit: 1

Rating: 3.5/5 (Total Votes: 2)

django-cache-purge-haken is een herbruikbare Django app cache ongeldig te behandelen.
Deze app biedt in feite een mechanisme om gemakkelijk vast te haken in het model callbacks om uw front-end cache ongeldig maken als dat nodig is.
Momenteel is slechts een vernis backend is geïmplementeerd, maar het ontwerp is gemaakt met andere mogelijke backends in het achterhoofd.
Gebruik
Zet 'cache_purge_hooks' om uw INSTALLED_APPS.
#our pretend model
klasse Post (models.Model):
& Nbsp; title = models.CharField (max_length = 200)
& Nbsp; slug = models.SlugField (unieke = True, max_length = 200)
& Nbsp; body = models.TextField (leeg = True, null = True)
van cache_purge_hooks import cache_purge_hook
cache_purge_hook (Post)
Zoals hierboven is aangetoond, cache_purge_hooks module bevat een functie cache_purge_hook. Pas in als het eerste argument een model. De cache mechanisme piggy-back op de methode van de model-instantie get_absolute_url () en wist de backend cache voor die bepaalde url.
Als enige heeft bijvoorbeeld meerdere gerelateerde urls, definieert een methode op maat get_absolute_urls () die een lijst met URL's om ongeldig terugkeert:
klasse Categorie (models.Model):
& Nbsp; name = models.CharField (max_length = 200)
& Nbsp; slug = models.SlugField (unieke = True, max_length = 200)
& Nbsp; title = models.CharField (max_length = 127, blanco = True)
& Nbsp; def get_absolute_url (zelf):
& Nbsp; & nbsp; & nbsp; terug achteruit ("categorie", kwargs = {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Categorie": self.slug
& Nbsp; & nbsp; & nbsp; })
& Nbsp; def get_absolute_urls (zelf):
& Nbsp; & nbsp; & nbsp; gau = self.get_absolute_url ()
& Nbsp; & nbsp; & nbsp; terug [gau, achteruit ('blog_home'),]
In het bovenstaande model, hebben we een blogpost Categorie model. Het is get_absolute_url () methode wordt gebonden aan een bepaalde met name genoemde route gedefinieerd in urls.py, maar elke wijziging in de categorie moet ook tot uiting komen in de blog homepage (zeg bijvoorbeeld de homepage bevat een tag cloud van alle categorieën). Die pagina moet ongeldig worden verklaard, wanneer deze informatie wordt gewijzigd.
Merk je moet ook expliciet pak de get_absolute_url () waarde. Het zal niet gecalled als get_absolute_urls () bestaat.
Als dat niet naar wens, dan kunt u ook doorgeven als 2e argument voor een functie die een instantie neemt en geeft een lijst van urls purge_related_blog.
Bijvoorbeeld:
van facebook_comments.models importeren FacebookCommentCache
def purge_related_blog (bijvoorbeeld):
& Nbsp; pr = urlparse.urlparse (instance.url)
& Nbsp; terug [pr.path,]
cache_purge_hook (FacebookCommentCache, purge_related_blog)
Dit is ook handig, want in het geval hierboven, de site is met behulp van een andere herbruikbare app (facebook_cached_comments). . Dit is veel beter dan het hacken van een derde code om een ​​get_absolue_urls bieden ()

Eisen

  • Python
  • Django
  • python-lak

Andere software van ontwikkelaar Shu Zong Chen

Reacties op django-cache-purge-hooks

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!