我正在尝试将我的django项目部署到GAE。在使用appcfg.py进行部署之后,我在GAE中得到了这个错误。有人知道如何解决这个问题吗?
Traceback (most recent call last):
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/runtime
/wsgi.py", line 223, in Handle
result = handler(dict(self._environ), self._StartResponse)
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django
/core/handlers/wsgi.py", line 219, in __call__
self.load_middleware()
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django
/core/handlers/base.py", line 47, in load_middleware
raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' %
(mw_module, e))
ImproperlyConfigured: Error importing middleware django.middleware.cache: "No module
named memcache"下面的代码显示了如何在我的project.settings中导入中间件类:
from djangoappengine.settings_base import *
....
MIDDLEWARE_CLASSES = (
'django.middleware.cache.UpdateCacheMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)谢谢你调查这个。
发布于 2012-11-20 17:21:58
使用安装memcache
pip install python-memcached发布于 2012-11-20 18:02:07
您的缓存后端可能已配置为使用memcache。Memcache现在可以在google-appengine上使用。需要使用appengine接口google.appengine.api.memcache中的memcache包装器。
你需要在django中使用custom cache backend。您可能需要实现自己的django缓存后端,它使用appengine的memcache api。实现django后端应该很简单,因为来自appengine api的函数很容易映射到django缓存后端。在编写后端作为参考时,您可以使用django.core.cache.backends.MemcachedCache
发布于 2012-11-20 23:32:41
你的配置很奇怪,我怀疑你会遇到很多问题。
您正在使用GAE为django 1.4提供的库,但是,您还导入了djangoappengine,它是为django-nonrel设计的。
我认为GAE提供的库和django-nonrel不能很好地协同工作。我怀疑你可能会收到很多奇怪的错误。
如果您使用的是纯django-nonrel,我认为您的中间件设置得很好。
这是否在本地工作,并且只有在部署时才会中断?在这种情况下,您最有可能在本地使用django-nonrel,但您没有部署它-因此在部署时,它使用的是GAE提供的版本。
确保django-nonrel在您的项目文件夹中。并且不要在你的app.yaml中启用Django1.4。
https://stackoverflow.com/questions/13469906
复制相似问题