django-cache-purge-hooks

Tela Software:
django-cache-purge-hooks
Detalhes de Software:
Versão: 0.3.0
Data de upload: 14 Apr 15
Revelador: Shu Zong Chen
Licença: Livre
Popularidade: 1

Rating: 3.5/5 (Total Votes: 2)

purga-ganchos django--cache é um app Django reutilizável para lidar com invalidação de cache.
Este app basicamente fornece um mecanismo para ligar facilmente nas callbacks modelo para invalidar o cache front-end, quando necessário.
Atualmente, apenas um backend verniz é aplicado, mas o projeto foi criado com outros backends possíveis em mente.
Uso
Adicionar 'cache_purge_hooks' ao seu INSTALLED_APPS.
#our modelo fingir
classe Post (models.Model):
& Nbsp; title = models.CharField (max_length = 200)
& Nbsp; lesma = models.SlugField (unique = True, max_length = 200)
& Nbsp; body = models.TextField (blank = True, null = True)
de cache_purge_hooks importação cache_purge_hook
cache_purge_hook (Post)
Como mostrado acima, módulo cache_purge_hooks contém um cache_purge_hook função. Passe no como o primeiro argumento de um modelo. O mecanismo de cache piggy backs-on método da instância do modelo get_absolute_url () e limpa o cache backend para que url particular.
Se qualquer instância tem várias urls relacionados, definir um método get_absolute_urls personalizados () que retorna uma lista de URLs para invalidar:
Categoria de classe (models.Model):
& Nbsp; name = models.CharField (max_length = 200)
& Nbsp; lesma = models.SlugField (unique = True, max_length = 200)
& Nbsp; title = models.CharField (max_length = 127, blank = True)
& Nbsp; get_absolute_url def (self):
& Nbsp; & nbsp; & nbsp; retornar reversa ("categoria", kwargs = {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Categoria": self.slug
& Nbsp; & nbsp; & nbsp; })
& Nbsp; get_absolute_urls def (self):
& Nbsp; & nbsp; & nbsp; gau = self.get_absolute_url ()
& Nbsp; & nbsp; & nbsp; voltar [gau, reverso ('blog_home'),]
No modelo acima, temos um modelo post Categoria. É método get_absolute_url () é amarrado a uma rota nomeada especial definido no urls.py, mas qualquer mudança para a categoria também deve ser refletida no blog da página inicial (digamos, por exemplo, a página inicial contém uma nuvem de tags de todas as categorias). Essa página deve ser invalidada quando esta informação é alterada.
Observe que você também deve pegar explicitamente o valor get_absolute_url (). Não será chamado se get_absolute_urls () existe.
Se isso não está ao seu gosto, você também pode passar como um segundo argumento para purge_related_blog uma função que recebe uma instância e retorna uma lista de urls.
Por exemplo:
de facebook_comments.models importar FacebookCommentCache
purge_related_blog def (exemplo):
& Nbsp; pr = urlparse.urlparse (instance.url)
& Nbsp; voltar [pr.path,]
cache_purge_hook (FacebookCommentCache, purge_related_blog)
Isso também é útil porque, no caso acima, o site está utilizando outro app reutilizável (facebook_cached_comments). . Isto é muito melhor do que hackear um código de terceiros para fornecer um get_absolue_urls ()

Requisitos :

  • Python
  • Django
  • python-verniz

Outro software de desenvolvedor Shu Zong Chen

Comentário para django-cache-purge-hooks

Comentários não encontrado
Adicionar comentário
Ligue imagens!