Tza*_*ach 6 python django google-app-engine djangoappengine
我使用djangoappengine模块进行拼接,在Google App Engine上运行django 1.5 .一切正常,除了大约一半的/ _ah/queue/deferred调用引发以下导入错误:
Traceback (most recent call last):
File "..../third_party/djangoappengine/deferred/handler.py", line 2, in <module>
from djangoappengine import main
ImportError: No module named djangoappengine
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,djangoappengine模块坐在里面third_party目录,这个目录添加到sys.path中appengine_config.py文件,所以不应该有做任何的问题from djangoappengine import main:
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'third_party'))
Run Code Online (Sandbox Code Playgroud)
相关的一行app.yaml是:
handlers:
- url: /_ah/queue/deferred
script: third_party/djangoappengine/deferred/handler.py
login: admin
Run Code Online (Sandbox Code Playgroud)
导致这些零星导入错误的原因是什么?难道我做错了什么?也许有一个我不知道的导入循环?
发现我的代码使用旧的 CGI 接口而不是较新的 WSGI。我修复了这个问题,此后问题就没有再出现。
更新app.yaml:
handlers:
- url: /_ah/queue/deferred
script: djangoappengine.deferred.handler.application
login: admin
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
337 次 |
| 最近记录: |