Django CACHE_BACKEND Ошибка - PullRequest
       14

Django CACHE_BACKEND Ошибка

1 голос
/ 30 декабря 2011

Итак, я сталкиваюсь с этой ошибкой CACHE при попытке запустить сервер или syncdb.

Вот трассировка: https://gist.github.com/1538051

Я попытался вставить это в файл settings.py:

CACHE_BACKEND = {
    'default': {
        'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
    }
}

Но это дало еще одну ошибку, которая не имеет смысла для меня.

if backend_uri.find(':') == -1:
AttributeError: 'dict' object has no attribute 'find'

Может ли кто-нибудь помочь мне понять, в чем проблема и как я могу ее исправить.

Примечание: я работаю на сервере dev

Ответы [ 2 ]

9 голосов
/ 30 декабря 2011

Если вы используете Django 1.2 или ниже, CACHE_BACKEND ( docs ) принимает строку:

CACHE_BACKEND = 'dummy://'

Если вы используете Django 1.3+, CACHE_BACKEND устарел в пользу CACHES ( docs ):

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
    }
}

Я не уверен, почему ваша установка не создает подходящего по умолчанию - может быть, что-то еще происходит с вашей установкой, но мне не хватает информации, если я не знаю больше о ваших settings.py и т. Д. .

1 голос
/ 30 декабря 2011

Во-первых, какую версию django вы используете? Конфигурация бэкэнда в стиле словаря является новинкой в ​​django 1.3, и ваша трассировка предполагает, что вы используете что-то вроде 1.2.4.

Если это так, вам нужно будет использовать более старые настройки кэша в стиле Uri. Что-то вроде

CACHE_BACKEND = 'dummy://'

будет соответствовать тому, что вы пытаетесь задать в своем вопросе.

Полная документация по кешированию, относящаяся к Django 1.2, доступна здесь: http://docs.djangoproject.com/en/1.2/topics/cache/

...