summaryrefslogtreecommitdiff
path: root/django/utils/cache.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/utils/cache.py')
-rw-r--r--django/utils/cache.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/django/utils/cache.py b/django/utils/cache.py
index 3c40e17e90..9828556057 100644
--- a/django/utils/cache.py
+++ b/django/utils/cache.py
@@ -19,16 +19,13 @@ An example: i18n middleware would need to distinguish caches by the
import re
import time
-try:
- set
-except NameError:
- from sets import Set as set # Python 2.3 fallback
from django.conf import settings
from django.core.cache import cache
from django.utils.encoding import smart_str, iri_to_uri
from django.utils.http import http_date
from django.utils.hashcompat import md5_constructor
+from django.utils import translation
from django.http import HttpRequest
cc_delim_re = re.compile(r'\s*,\s*')
@@ -145,13 +142,20 @@ def _generate_cache_key(request, headerlist, key_prefix):
if value is not None:
ctx.update(value)
path = md5_constructor(iri_to_uri(request.path))
- return 'views.decorators.cache.cache_page.%s.%s.%s' % (
- key_prefix, path.hexdigest(), ctx.hexdigest())
+ cache_key = 'views.decorators.cache.cache_page.%s.%s.%s' % (
+ key_prefix, path.hexdigest(), ctx.hexdigest())
+ if settings.USE_I18N:
+ cache_key += '.%s' % translation.get_language()
+ return cache_key
def _generate_cache_header_key(key_prefix, request):
"""Returns a cache key for the header cache."""
path = md5_constructor(iri_to_uri(request.path))
- return 'views.decorators.cache.cache_header.%s.%s' % (key_prefix, path.hexdigest())
+ cache_key = 'views.decorators.cache.cache_header.%s.%s' % (
+ key_prefix, path.hexdigest())
+ if settings.USE_I18N:
+ cache_key += ".%s" % translation.get_language()
+ return cache_key
def get_cache_key(request, key_prefix=None):
"""