【发布时间】:2011-05-24 02:42:19
【问题描述】:
我正在尝试将 Django 应用程序部署到 Google App Engine。该应用程序部署成功,但当我尝试在网络浏览器中访问它时抛出以下错误:
<class 'django.core.exceptions.ImproperlyConfigured'>: 'appengine' isn't an available database backend. Available options are: 'dummy', 'mysql', 'oracle', 'postgresql', 'postgresql_psycopg2', 'sqlite3'
Error was: No module named appengine.base
Traceback (most recent call last):
File "/base/data/home/apps/[app_id]/test.350631415612260549/main.py", line 29, in <module>
InstallAppengineHelperForDjango()
File "/base/data/home/apps/[app_id]/test.350631415612260549/appengine_django/__init__.py", line 545, in InstallAppengineHelperForDjango
InstallDjangoModuleReplacements()
File "/base/data/home/apps/[app_id]/test.350631415612260549/appengine_django/__init__.py", line 262, in InstallDjangoModuleReplacements
import django.db
File "/base/data/home/apps/[app_id]/test.350631415612260549/django/db/__init__.py", line 41, in <module>
backend = load_backend(settings.DATABASE_ENGINE)
File "/base/data/home/apps/[app_id]/test.350631415612260549/django/db/__init__.py", line 37, in load_backend
raise ImproperlyConfigured(error_msg)
补充信息:我不是该应用的原始开发者,对 Google App Engine 也不是很熟悉。
我的工作流程如下:从 Git 存储库中提取代码,在 GoogleAppEngineLauncher GUI(适用于 Mac OS X)中将其配置为新应用,然后进行部署。我是否遗漏了任何步骤,例如在部署之前在本地配置后端设置?
【问题讨论】:
-
这肯定是你项目的配置(设置)有问题。您能否详细介绍一下 django 在这个应用引擎项目中是如何使用的?是使用 django-appengine(也称为 django-nonrel)还是原生应用引擎支持?
-
我相当肯定该项目正在使用本机应用程序引擎支持,但我对 GAE 的无知并没有帮助 - 是否有任何迹象表明本机应用程序引擎或 django-appengine利用?搜索源代码发现“django-appengine”或“django-nonrel”都没有匹配项,但我确实在项目根目录中看到了一个名为“appengine_django”的目录。
-
嗯,好吧,这没有多大帮助。让我这样问:您是使用
appcfg.py还是通过manage.py remote进行部署,还是使用启动器进行部署(从未使用过,所以我不知道这是可能的)。在任何情况下,如果从项目文件夹中打开settings.py文件并将DATABASE_ENGINE或DATABASES['ENGINE']设置为空字符串''将是一个好主意。
标签: python django google-app-engine