summaryrefslogtreecommitdiff
path: root/django/middleware/cache.py
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2011-01-24 06:36:31 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2011-01-24 06:36:31 +0000
commitfe581013b03b3dd38f4893bb5e9dc9695af25d71 (patch)
tree5ac4b726cb04aac1bc80a49e1814aa0d27c00f38 /django/middleware/cache.py
parent4849ebb017362f38cf281409e227bc755cc0eca6 (diff)
Fixed #15144 -- Corrected some problems with the Cache middleware when used with multiple cache settings. Thanks to Jim Dalton for the report, and to Jim and Joshua Ginsberg for the work on the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15285 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/middleware/cache.py')
-rw-r--r--django/middleware/cache.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/django/middleware/cache.py b/django/middleware/cache.py
index 31a8147eec..907edbb16f 100644
--- a/django/middleware/cache.py
+++ b/django/middleware/cache.py
@@ -65,7 +65,8 @@ class UpdateCacheMiddleware(object):
self.cache_timeout = settings.CACHE_MIDDLEWARE_SECONDS
self.key_prefix = settings.CACHE_MIDDLEWARE_KEY_PREFIX
self.cache_anonymous_only = getattr(settings, 'CACHE_MIDDLEWARE_ANONYMOUS_ONLY', False)
- self.cache = get_cache(settings.CACHE_MIDDLEWARE_ALIAS)
+ self.cache_alias = settings.CACHE_MIDDLEWARE_ALIAS
+ self.cache = get_cache(self.cache_alias)
def process_response(self, request, response):
"""Sets the cache, if needed."""
@@ -101,7 +102,8 @@ class FetchFromCacheMiddleware(object):
self.cache_timeout = settings.CACHE_MIDDLEWARE_SECONDS
self.key_prefix = settings.CACHE_MIDDLEWARE_KEY_PREFIX
self.cache_anonymous_only = getattr(settings, 'CACHE_MIDDLEWARE_ANONYMOUS_ONLY', False)
- self.cache = get_cache(settings.CACHE_MIDDLEWARE_ALIAS)
+ self.cache_alias = settings.CACHE_MIDDLEWARE_ALIAS
+ self.cache = get_cache(self.cache_alias)
def process_request(self, request):
"""
@@ -152,8 +154,9 @@ class CacheMiddleware(UpdateCacheMiddleware, FetchFromCacheMiddleware):
# we need to use middleware defaults.
cache_kwargs = {}
+
try:
- self.key_prefix = kwargs.get('key_prefix')
+ self.key_prefix = kwargs['key_prefix']
if self.key_prefix is not None:
cache_kwargs['KEY_PREFIX'] = self.key_prefix
else:
@@ -161,14 +164,15 @@ class CacheMiddleware(UpdateCacheMiddleware, FetchFromCacheMiddleware):
except KeyError:
self.key_prefix = settings.CACHE_MIDDLEWARE_KEY_PREFIX
cache_kwargs['KEY_PREFIX'] = self.key_prefix
+
try:
- cache_alias = kwargs.get('cache_alias')
- if cache_alias is None:
- cache_alias = DEFAULT_CACHE_ALIAS
+ self.cache_alias = kwargs['cache_alias']
+ if self.cache_alias is None:
+ self.cache_alias = DEFAULT_CACHE_ALIAS
if cache_timeout is not None:
cache_kwargs['TIMEOUT'] = cache_timeout
except KeyError:
- cache_alias = settings.CACHE_MIDDLEWARE_ALIAS
+ self.cache_alias = settings.CACHE_MIDDLEWARE_ALIAS
if cache_timeout is None:
cache_kwargs['TIMEOUT'] = settings.CACHE_MIDDLEWARE_SECONDS
else:
@@ -179,5 +183,5 @@ class CacheMiddleware(UpdateCacheMiddleware, FetchFromCacheMiddleware):
else:
self.cache_anonymous_only = cache_anonymous_only
- self.cache = get_cache(cache_alias, **cache_kwargs)
+ self.cache = get_cache(self.cache_alias, **cache_kwargs)
self.cache_timeout = self.cache.default_timeout