如何正确设置django-cache-machine?
我刚接触Django和缓存,正在使用Django 1.6。
我按照django-cache-machine页面上的说明进行了安装。
1. 使用命令:pip install django-cache-machine
2. 在settings.py文件中添加以下内容:
CACHES = {
'default': {
'BACKEND': 'caching.backends.memcached.MemcachedCache',
'LOCATION': 'localhost:11211',
'PREFIX': 'wee:',
},
}
3. 根据说明对我的一个模型应用了这些更改,算是最简单的例子。
当我尝试启动服务器时,出现了以下错误。
django.core.cache.backends.base.InvalidCacheBackendError: 找不到后端 'caching.backends.memcached.MemcachedCache':'module' 对象没有属性 'CacheClass'
我之前安装过johnny-cache,但很快就把它卸载了,然后安装了cache machine。我不知道这是否有关系。Memcached也在运行。
提前谢谢你们!
编辑:
我刚发现这个问题在这个应用的GitHub页面上已经提到过。 https://github.com/jbalogh/django-cache-machine/issues/44
并且已经有修复方案了。所以我重新安装了GitHub上的版本。
pip install -e git://github.com/jbalogh/django-cache-machine.git#egg=django-cache-machine
现在又出现了另一个错误。
ImportError: No module named memcache
于是我安装了另一个叫做python-memcached的应用。服务器可以运行,但没有进行缓存。
我运行了Python shell,应用运行得很好。所以我觉得问题还是出在django-cache-machine上。
我猜django-cache-machine可能还不完全支持Django 1.6。
如果有人知道怎么在Django 1.6+Python 2.7上让它工作,请告诉我。
再次感谢!
2 个回答
用这个替换:
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
只需要用下面的命令安装memcach:
pip install python-memcached
这样就解决我的问题了!