在appengine上正确导入模块时遇到问题。我的应用通常使用django和appengine补丁,但这部分是任务队列,只使用webapp框架。在
我需要导入django设置才能正常工作。在
我的脚本开头是:
import os
import sys
sys.path.append('common/')
# Force Django to reload its settings.
from django.conf import settings
settings._target = None
# Must set this env var before importing any part of Django
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
我总是得到这样的错误,或与之相关的:
^{pr2}$因为设置.py文件以开头
from ragendja.settings_pre import *
我想我需要把拉根贾加到系统路径我又试了几次都没成功。在
这是我的目录:
project/
app.yaml
setting.py
common/
appenginepatch/
ragendja/
setting_pre.py
myapp/
script.py
只是一个系统路径问题以及如何用正确的语法修改它?在
谢谢
为什么不:
因为ragendja在这个目录中?在
应用引擎补丁操作系统路径内部。后台任务会绕过该代码,因此您的路径将无法用于Django调用。您有两种选择:
手动修复路径。app engine documentation(请参阅名为“处理导入路径操作”的子部分)建议将路径操作代码分解为一个可以由任务脚本导入的模块。
如果可能的话,消除对django代码的依赖。如果您可以将任务编写为纯python和/或googleapi调用,那么就可以开始了。在您的情况下,这可能意味着重构设置代码。
相关问题 更多 >
编程相关推荐