首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Google App Engine项目中导入django.middleware类?

如何在Google App Engine项目中导入django.middleware类?
EN

Stack Overflow用户
提问于 2012-11-20 17:15:23
回答 3查看 4.2K关注 0票数 7

我正在尝试将我的django项目部署到GAE。在使用appcfg.py进行部署之后,我在GAE中得到了这个错误。有人知道如何解决这个问题吗?

代码语言:javascript
复制
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中导入中间件类:

代码语言:javascript
复制
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',
)

谢谢你调查这个。

EN

回答 3

Stack Overflow用户

发布于 2012-11-20 17:21:58

使用安装memcache

代码语言:javascript
复制
pip install python-memcached
票数 5
EN

Stack Overflow用户

发布于 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

票数 1
EN

Stack Overflow用户

发布于 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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13469906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档