1

我正在使用 django-rosetta 应用程序,它可以在没有 CACHES 设置的情况下进行开发,但是在 prod 上我的设置如下:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

问题是在刺激下它让我

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'),
    }
}
4

1 回答 1

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 上。但是,重新安装后,它工作。

于 2018-01-12T19:25:49.420 回答