2013-07-30 01:19:04 +08:00
|
|
|
from __future__ import unicode_literals
|
2013-02-24 19:58:02 +08:00
|
|
|
|
|
|
|
import hashlib
|
2015-01-28 20:35:27 +08:00
|
|
|
|
2013-02-24 19:58:02 +08:00
|
|
|
from django.utils.encoding import force_bytes
|
|
|
|
from django.utils.http import urlquote
|
|
|
|
|
|
|
|
TEMPLATE_FRAGMENT_KEY_TEMPLATE = 'template.cache.%s.%s'
|
|
|
|
|
|
|
|
|
|
|
|
def make_template_fragment_key(fragment_name, vary_on=None):
|
|
|
|
if vary_on is None:
|
|
|
|
vary_on = ()
|
2013-08-30 07:20:00 +08:00
|
|
|
key = ':'.join(urlquote(var) for var in vary_on)
|
2013-02-24 19:58:02 +08:00
|
|
|
args = hashlib.md5(force_bytes(key))
|
|
|
|
return TEMPLATE_FRAGMENT_KEY_TEMPLATE % (fragment_name, args.hexdigest())
|