django-cache-purge-hooks

Софтуер снимки:
django-cache-purge-hooks
Софтуер детайли:
Версия: 0.3.0
Дата на качване: 14 Apr 15
Розробник: Shu Zong Chen
Разрешително: Безплатно
Популярност: 1

Rating: 3.5/5 (Total Votes: 2)

Джанго-кеш-продухване кукички е за многократна употреба Django приложение, за да се справят с кеш обезсилване.
Тази програмка осигурява механизъм за лесно да се интегрира обратни извиквания на модел, за да обезсилят вашата предния край на кеша, когато е необходимо.
В момента, само лак бекенд се реализира, но дизайнът е създаден с други възможни Неуспех в ума.
<Силен> Usage
Добави "cache_purge_hooks" да си INSTALLED_APPS.
#our преструвам модел
клас Post (models.Model):
& Nbsp; заглавие = models.CharField (MAX_LENGTH = 200)
& Nbsp; плужек = models.SlugField (уникален = True, MAX_LENGTH = 200)
& Nbsp; тялото = models.TextField (празно = True, нищожна = True)
от cache_purge_hooks внос cache_purge_hook
cache_purge_hook (Post)
Както е показано по-горе, cache_purge_hooks модул съдържа функция cache_purge_hook. Премини в като първи аргумент модел. Механизмът за кеш прасенце-гръб на get_absolute_url () метод на модела съд и нулира бекенд кеша за конкретния URL.
Ако някой например има множество свързани с URL адреси, определи потребителски get_absolute_urls () метод, който връща списък с URL адреси, за да анулират:
клас Категория (models.Model):
& Nbsp; име = models.CharField (MAX_LENGTH = 200)
& Nbsp; плужек = models.SlugField (уникален = True, MAX_LENGTH = 200)
& Nbsp; заглавие = models.CharField (MAX_LENGTH = 127, празно = True)
& Nbsp; Def get_absolute_url (самостоятелно):
& Nbsp; & Nbsp; & Nbsp; върнете назад ("категория", kwargs = {
& Nbsp; & Nbsp; & Nbsp; & Nbsp; & Nbsp; "Категория": self.slug
& Nbsp; & Nbsp; & Nbsp; })
& Nbsp; ДЕФ get_absolute_urls (само):
& Nbsp; & Nbsp; & Nbsp; Гау = self.get_absolute_url ()
& Nbsp; & Nbsp; & Nbsp; върнете [Гау, обратни ("blog_home"),]
В горния модел, имаме модел блог пост категория. Това е get_absolute_url () метод е обвързано с конкретен име маршрут, определени в urls.py, но всяка промяна на категорията трябва да бъде отразено и в блог началната страница на (да речем например, началната страница съдържа таг облак от всички категории). Това страница трябва да бъде заличена, когато се променя тази информация.
Забележете, вие също трябва да е изрично вземете стойността на get_absolute_url (). Тя няма да се нарича, ако get_absolute_urls () съществува.
Ако това не е да ви хареса, можете също да премине като втора аргумент да purge_related_blog една функция, която използва една инстанция и връща списък с URL адреси.
Например:
от facebook_comments.models внасят FacebookCommentCache
Def purge_related_blog (например):
& Nbsp; PR = urlparse.urlparse (instance.url)
& Nbsp; върнете [pr.path,]
cache_purge_hook (FacebookCommentCache, purge_related_blog)
Това също е полезно, тъй като в случая по-горе, сайтът се използва друг многократна употреба ап (facebook_cached_comments). . Това е много по-добре от хакване на кодекс на трета страна да осигури get_absolue_urls ()

<силни> Изисквания :

  • Python
  • Django
  • питон-лак

Друг софтуер на разработчика Shu Zong Chen

Коментари към django-cache-purge-hooks

Коментари не е намерена
добавите коментар
Включете на изображения!