- Author:
- bram
- Posted:
- June 24, 2009
- Language:
- Python
- Version:
- 1.0
- Tags:
- template cache invalidate
- Score:
- 1 (after 1 ratings)
this function invalidates a template-fragment cache bit.
say you have:
{% load cache %} {% cache 600 user_cache user.id %} something expensive here {% endcache %}
maybe you want to force an update. With this function you can, just call:
invalidate_template_cache("user_cache", user.id)
1 2 3 4 5 6 7 8 9 | from django.core.cache import cache
from django.utils.hashcompat import md5_constructor
from django.utils.http import urlquote
from functional import compose
def invalidate_template_cache(fragment_name, *variables):
args = md5_constructor(u':'.join(apply(compose(urlquote, unicode), variables)))
cache_key = 'template.cache.%s.%s' % (fragment_name, args.hexdigest())
cache.delete(cache_key)
|
More like this
- Automatically setup raw_id_fields ForeignKey & OneToOneField by agusmakmun 8 months, 1 week ago
- Crispy Form by sourabhsinha396 9 months ago
- ReadOnlySelect by mkoistinen 9 months, 2 weeks ago
- Verify events sent to your webhook endpoints by santos22 10 months, 1 week ago
- Django Language Middleware by agusmakmun 10 months, 3 weeks ago
Comments
This didn't work for me on django1.1,
The following did though:
#
https://github.com/tedtieken/django-template-reset-cache
Wraps the invalidation function in a template tag.
#
Please login first before commenting.