Ошибка django-rosetta: вы не можете использовать CacheRosettaStorage
Я использую приложение django-rosetta, оно работает на разработке без настройки CACHES, но на Prod у меня есть эта настройка, как указано ниже:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
Проблема в том, что под prod меня это поднимает
django.core.exceptions.ImproperlyConfigured:
You can't use the CacheRosettaStorage if your cache isn't correctly set up,
please double check your Django DATABASES setting and that the cache server is responding
Настройка базы данных проста как
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
1 ответ
Итак, как говорится в сообщении об исключении:
дважды проверьте настройку Django DATABASES и убедитесь, что сервер кэша отвечает
Я сделал это, даже мой memchached работал правильно, я решил переустановить его, и, как волшебное искусство, это сработало!
До этого я менял свои КЭШИ
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
},
'rosetta': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
'LOCATION': '/var/tmp/django_cache',
}
}
Django Rosetta будет использовать ключ Rosetta, если кэш с таким именем существует, или по умолчанию, если нет. С FileBasedCache не было никаких ошибок при запуске, поэтому я понял, что проблема была в MemcachedCache. Но после переустановки все заработало.