1

我有一个在 Google App Engine 上运行的 django 应用程序。我使用djangoappenginedjango-nonrel并且工作正常(在我的 App Engine 项目目录中使用 django 的完整源代码)。我注意到 GAE 通过添加以下行来提供对 django 的支持app.yaml

libraries:
- name: django
  version: 1.5

我想使用它而不是将整个 django-nonrel 源代码放在我的项目目录中。当我从项目目录中删除 django-nonrel 时,我从以下 ImportError 得到djangoappengine/boot.py

ImportError: No module named django.conf

看起来 djangoappengine 找不到任何版本的 django - 不是安装在我的 python 安装中的版本,也不是 AppEngine 附带的版本。

如何让开发服务器使用 django 的 AppEngine 版本?还是我错过了什么?

更新: 当我手动编辑djangoappengine/boot.py和添加

sys.path.append(r'<PATH TO GAE API>/google_appengine/lib/django-1.5')

有用。有什么方法可以在不编辑的情况下添加到路径中djangoappengine

4

1 回答 1

0

GAE SDK 中包含的 Django 模块是“常规”Django,而不是 django-nonrel。“常规” Django 只能处理 SQL 数据库,它不能处理 GAE 的数据存储。

如果您使用 CloudSQL,请使用“常规”Django。如果您使用 HRD 数据存储,请使用 django-nonrel。

您看到的错误是因为 djangoappengine(和 djangotoolbox)仅适用于 django-nonrel。他们不会使用“常规”django。

于 2013-11-27T20:29:52.760 回答