我正在开发一个使用Django
框架编写并在GAE
实例上运行的项目。它还使用 Googlememcache
作为默认缓存后端。这个项目是使用 Django 1.3 开发的,并且运行良好。但是最近我们尝试在 Django 1.4 上运行我们的项目并遇到了一个奇怪的异常:argument of type 'Client' is not iterable
.
此异常的原因在于此提交。以下是自 Django 1.3 以来添加的两行代码:
if (KEY_PREFIX + session_key) in cache:
return True
这些行假设cache
对象是可迭代的。缓存对象本身是google.appengine.api.memcache.Client
项目的settings.py
. 这个类确实不提供可迭代的接口。
所以我的问题是:(如果是的话)memcache
应该如何使用Django 1.4
?
UPD。这是我们settings.py
与该问题相关的片段:
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
CACHES = {
'default': {
'BACKEND': 'google.appengine.api.memcache.Client',
}
}