[py3] Always pass bytes to hashlib.md5.
This commit is contained in:
parent
52c351a151
commit
ebc1325721
|
@ -4,6 +4,7 @@ import hashlib
|
||||||
from django.template import Library, Node, TemplateSyntaxError, Variable, VariableDoesNotExist
|
from django.template import Library, Node, TemplateSyntaxError, Variable, VariableDoesNotExist
|
||||||
from django.template import resolve_variable
|
from django.template import resolve_variable
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
|
from django.utils.encoding import smart_bytes
|
||||||
from django.utils.http import urlquote
|
from django.utils.http import urlquote
|
||||||
|
|
||||||
register = Library()
|
register = Library()
|
||||||
|
@ -24,8 +25,9 @@ class CacheNode(Node):
|
||||||
expire_time = int(expire_time)
|
expire_time = int(expire_time)
|
||||||
except (ValueError, TypeError):
|
except (ValueError, TypeError):
|
||||||
raise TemplateSyntaxError('"cache" tag got a non-integer timeout value: %r' % expire_time)
|
raise TemplateSyntaxError('"cache" tag got a non-integer timeout value: %r' % expire_time)
|
||||||
# Build a unicode key for this fragment and all vary-on's.
|
# Build a key for this fragment and all vary-on's.
|
||||||
args = hashlib.md5(':'.join([urlquote(resolve_variable(var, context)) for var in self.vary_on]))
|
key = smart_bytes(':'.join([urlquote(resolve_variable(var, context)) for var in self.vary_on]))
|
||||||
|
args = hashlib.md5(key)
|
||||||
cache_key = 'template.cache.%s.%s' % (self.fragment_name, args.hexdigest())
|
cache_key = 'template.cache.%s.%s' % (self.fragment_name, args.hexdigest())
|
||||||
value = cache.get(cache_key)
|
value = cache.get(cache_key)
|
||||||
if value is None:
|
if value is None:
|
||||||
|
|
Loading…
Reference in New Issue