Changeset 6815 for django/branches/gis/django/middleware/cache.py
- Timestamp:
- 12/01/07 16:12:44 (1 year ago)
- Files:
-
- django/branches/gis (modified) (1 prop)
- django/branches/gis/django/middleware/cache.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/gis
- Property svnmerge-integrated changed from /django/trunk:1-6671 to /django/trunk:1-6671,6673-6781
django/branches/gis/django/middleware/cache.py
r5492 r6815 1 1 from django.conf import settings 2 2 from django.core.cache import cache 3 from django.utils.cache import get_cache_key, learn_cache_key, patch_response_headers 3 from django.utils.cache import get_cache_key, learn_cache_key, patch_response_headers, get_max_age 4 4 5 5 class CacheMiddleware(object): 6 6 """ 7 7 Cache middleware. If this is enabled, each Django-powered page will be 8 cached for CACHE_MIDDLEWARE_SECONDS seconds. Cache is based on URLs.8 cached (based on URLs). 9 9 10 10 Only parameter-less GET or HEAD-requests with status code 200 are cached. 11 12 The number of seconds each page is stored for is set by the 13 "max-age" section of the response's "Cache-Control" header, falling back to 14 the CACHE_MIDDLEWARE_SECONDS setting if the section was not found. 11 15 12 16 If CACHE_MIDDLEWARE_ANONYMOUS_ONLY is set to True, only anonymous requests … … 79 83 if not response.status_code == 200: 80 84 return response 81 patch_response_headers(response, self.cache_timeout) 82 cache_key = learn_cache_key(request, response, self.cache_timeout, self.key_prefix) 83 cache.set(cache_key, response, self.cache_timeout) 85 # Try to get the timeout from the "max-age" section of the "Cache- 86 # Control" header before reverting to using the default cache_timeout 87 # length. 88 timeout = get_max_age(response) 89 if timeout == None: 90 timeout = self.cache_timeout 91 elif timeout == 0: 92 # max-age was set to 0, don't bother caching. 93 return response 94 patch_response_headers(response, timeout) 95 cache_key = learn_cache_key(request, response, timeout, self.key_prefix) 96 cache.set(cache_key, response, timeout) 84 97 return response
