utils.py 478 B

123456789101112131415
  1. from __future__ import unicode_literals
  2. import hashlib
  3. from django.utils.encoding import force_bytes
  4. from django.utils.http import urlquote
  5. TEMPLATE_FRAGMENT_KEY_TEMPLATE = 'template.cache.%s.%s'
  6. def make_template_fragment_key(fragment_name, vary_on=None):
  7. if vary_on is None:
  8. vary_on = ()
  9. key = ':'.join(urlquote(var) for var in vary_on)
  10. args = hashlib.md5(force_bytes(key))
  11. return TEMPLATE_FRAGMENT_KEY_TEMPLATE % (fragment_name, args.hexdigest())