В моем settings.py у меня есть:Джанго оболочка не учитывает конфигурацию кэша
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'ws_cache_table',
'TIMEOUT': '3000000',
'OPTIONS': {
'MAX_ENTRIES': 10000000
}
}
}
Но если я сделаю это в python manage.py shell
:
from django.core.cache import cache
print type(cache)
Я получаю:
django.core.cache.backends.locmem.LocMemCache
Почему! ??? Теперь я не могу очистить кэш ...
Для доказательства моей конфигурации Corect я могу сделать:
from django.conf import settings
conf = settings.CACHES.get('default', None)
И я получаю:
{'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'ws_cache_table',
'OPTIONS': {'MAX_ENTRIES': 10000000},
'TIMEOUT': '3000000'}
Похоже get_cache
метод вызывается до определения CACHES ...
Возможно, вы обращаетесь к 'django.core.cache.cache' из кода, доступного в настройках? –
, какая версия Django? –
Вы уверены, что никакие другие локальные настройки не заменяют параметр 'CACHES'? Если вы вручную вызываете 'django.core.cache.get_cache ('default')', что вы получаете? –