Google App Engine和Django支持

Rog*_*ger 5 django google-app-engine pycharm

我正在尝试按照此文档将我的Django应用部署到Google App Engine(GAE).我创建并配置了一个实例,如该文档中所述.我用作开发环境并创建了一个支持Django的GAE项目.Google Cloud SQLPyCharm

我将本地服务器配置为指向GAE服务器.当我尝试在PyCharm中启动GAE本地服务器时,它会在以下内容中对未正确配置的数据库引发异常SETTINGS.PY:

google.appengine.ext.django.backends.rdbms' isn't an available database backend
Run Code Online (Sandbox Code Playgroud)

我可以从堆栈跟踪中看到本地服务器正在使用Django版本,/Library/Python/2.7/site-packages而我认为它应该使用的那个/usr/local/google_appengine/lib.

考虑到我还有其他Django项目应该使用Django版本,最好的解决方法是/Library/Python/2.7/site-packages什么?如果我修改我PYTHONPATH的包含GAang版本的Django,我的所有项目都不会引用那个版本的Django吗?

编辑:更确切地说,GAE本地服务器启动很好,但在我执行syncdb任务更新数据库时抛出提到的堆栈跟踪.

编辑2:在Python解释器下的PyCharm设置中,我发现修改路径的可能性并添加了与GAE SDK一起分发的Django 1.4版本.当我启动GAE开发服务器时,我实际上可以看到它使用GAE SDK中的Django版本,但它仍然在数据库定义上崩溃:

Error was: No module named google.appengine.ext.django.backends.rdbms.base
Run Code Online (Sandbox Code Playgroud)

编辑3:尝试使用本教程部署现有的Django应用程序时遇到了问题.看到这个单独的问题.

han*_*ast 11

看起来PyCharms调用的syncdb是使用错误的Django安装. google.appengine.ext.django.backends.rdbms不是官方Django发行版的一部分,但它是GAE django的一部分.我的GAE django在/usr/local/google_appengine/lib/

如果您使用的是linux/OS X,可以将其添加到.bashrc/ .bash_profile和make syncdb中使用:

export GAE="/usr/local/google_appengine"
export PYTHONPATH="$PYTHONPATH:$GAE:$GAE/lib/django_1_4"
export PATH=${PATH}:$GAE/lib/django_1_4/django/bin/
export PATH=${PATH}:/usr/local/mysql/bin
Run Code Online (Sandbox Code Playgroud)

我写了一篇关于将Django与GAE和Google Cloud SQL一起使用教程.那里可能还有一些相关的信息.