Django-cachepurge laat Django HTTP cache zuiveren wanneer een model bijvoorbeeld wordt gewijzigd of verwijderd & nbsp;. Het doet dit door het sturen "PURGE" verzoeken om één of meer upstream HTTP-cache (zoals Squid en Varnish). Dit is geïnspireerd door Plone CacheFu componenten.
Gebruik
In settings.py put 'django_cachepurge' voordat een andere toepassing; anders kan het failt om enkele modellen te registreren:
INSTALLED_APPS = (
& Nbsp; 'django_cachepurge',
& Nbsp; ...
)
Voeg de middleware:
MIDDLEWARE_CLASSES = (
& Nbsp; ...
& Nbsp; 'django_cachepurge.middleware.CachePurge',
)
Definieer CACHE_URLS:
CACHE_URLS = 'http://127.0.0.1:3128'
of als u meer dan één cache:
CACHE_URLS = ("http://127.0.0.1:3128,
& Nbsp; 'http: //192.168.1.42: 3128')
Modellen
URL's worden gewonnen uit modellen exemplaren op post_save signaal. Twee bronnen gebruikt:
* Instance.get_absolute_url (), als deze bestaat
* Instance.get_purge_urls (), als het bestaat. De applicatie verwacht een lijst van absolute paden vergelijkbaar met wat wordt geleverd door get_absolute_url ().
Purge verzoek wordt verzonden wanneer de respons is berekend: als er een uitzondering optreedt de urls worden niet gewist. Purge verzoeken zijn asynchroon:. Werkthreads handvat dat, zodat we niet wachten om alle verzoeken alvorens terug te keren het antwoord te voltooien
Wat is nieuw in deze release:
- Compatibel met Django 1.3: niet importeren django.utils.thread_support
- vangst NoReverseMatch uitzondering wanneer het proberen om url van een exemplaar te vinden
Wat is nieuw in versie 0.2:
- Akkoord om enige site urls zuiveren, omgezet indien nodig in hun relatieve vorm (dat wil zeggen, & quot; / wat / path / & quot;)
Eisen
- Python
- Django
Reacties niet gevonden