【发布时间】:2013-12-11 09:53:49
【问题描述】:
我有一个在 Google App Engine 上运行的 django 应用程序。我使用 djangoappengine 和 django-nonrel 并且它工作正常(在我的 App Engine 项目目录中使用 django 的完整源代码)。
我注意到 GAE 通过将以下几行添加到 app.yaml 来提供对 django 的支持:
libraries:
- name: django
version: 1.5
我想使用它而不是将整个 django-nonrel 源代码放在我的项目目录中。
当我从项目目录中删除 django-nonrel 时,我从 djangoappengine/boot.py 收到以下 ImportError:
ImportError: No module named django.conf
看起来 djangoappengine 找不到任何版本的 django - 不是我的 python 安装中安装的那个,也不是 AppEngine 附带的那个。
如何让开发服务器使用 AppEngine 版本的 django? 还是我错过了什么?
更新:
当我手动编辑djangoappengine/boot.py 并添加
sys.path.append(r'<PATH TO GAE API>/google_appengine/lib/django-1.5')
它有效。有什么方法可以在不编辑djangoappengine的情况下添加到路径?
【问题讨论】:
-
您还需要在相应的模块中
import django。 -
感谢@AshishNitinPatil 的回复。 “适当的模块”是什么意思?
import django不会像import django.conf一样提高ImportError提高吗? -
不。我认为,
app.yaml指示服务器将django作为服务器包含的外部库。因此,import django不会失败。 (虽然我可能错了) -
@AshishNitinPatil 我刚刚尝试过
import django,它引发了同样的错误。还有其他想法吗? -
如果
djangoappengine具有django-nonrel作为依赖项(我认为确实如此),在这种情况下,恐怕您必须包含django-nonrel包。
标签: python django google-app-engine django-nonrel djangoappengine