From 4306501da7603762fc37dd62cc8a8b87f3f42114 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Fri, 4 Feb 2011 14:27:43 +0000 Subject: [PATCH] Fixed #15217 -- Made the CACHE_BACKEND deprecation warning more selective, so it doesn't catch the default case. Thanks to adamv for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@15406 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/conf/global_settings.py | 1 - django/core/cache/__init__.py | 20 +++++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py index 0017f46708..dad5097620 100644 --- a/django/conf/global_settings.py +++ b/django/conf/global_settings.py @@ -436,7 +436,6 @@ CACHES = { } # The cache backend to use. See the docstring in django.core.cache for the # possible values. -CACHE_BACKEND = 'locmem://' CACHE_MIDDLEWARE_KEY_PREFIX = '' CACHE_MIDDLEWARE_SECONDS = 600 CACHE_MIDDLEWARE_ALIAS = 'default' diff --git a/django/core/cache/__init__.py b/django/core/cache/__init__.py index ced9875b07..2c75f6c671 100644 --- a/django/core/cache/__init__.py +++ b/django/core/cache/__init__.py @@ -75,11 +75,21 @@ def parse_backend_uri(backend_uri): return scheme, host, params if not settings.CACHES: - import warnings - warnings.warn( - "settings.CACHE_* is deprecated; use settings.CACHES instead.", - PendingDeprecationWarning - ) + legacy_backend = getattr(settings, 'CACHE_BACKEND', None) + if legacy_backend: + import warnings + warnings.warn( + "settings.CACHE_* is deprecated; use settings.CACHES instead.", + PendingDeprecationWarning + ) + else: + # The default cache setting is put here so that we + # can differentiate between a user who has provided + # an explicit CACHE_BACKEND of locmem://, and the + # default value. When the deprecation cycle has completed, + # the default can be restored to global_settings.py + settings.CACHE_BACKEND = 'locmem://' + # Mapping for new-style cache backend api backend_classes = { 'memcached': 'memcached.CacheClass',