我在本地django服务器上安装了django/postgres,运行良好。我在试着让阿帕奇工作。我已经设置了mod_wsgi,并能够获得一个"Hello“,并重新启动Apache。我已经快到了,但是当我打开localhost/index.html时,会得到以下服务器错误:
TemplateSyntaxError: Caught ImproperlyConfigured while rendering:
'django.db.backends.postgresql_psycopg2' isn't an available database
backend.
[Thu Sep 02 13:46:30 2010] [error] [client 127.0.0.1] Try using
django.db.backends.XXX, where XXX is one of:
[Thu Sep 02 13:46:30 2010] [error] [client 127.0.0.1] 'dummy',
'mysql', 'oracle', 'postgresql', 'postgresql_psycopg2', 'sqlite3'
[Thu Sep 02 13:46:30 2010] [error] [client 127.0.0.1] Error was:
cannot import name utils 有没有可能mod_wsgi和版本是不兼容的?有人尝试过这种设置吗?
更新1:
我将其降级为2.6、mod_wsgi、psycopg2,但在apache文件中仍然会出现此错误。
2010年9月15日12:17:41 ]错误文件"C:\Python26\lib\site-packages\django\db\__init__.py",第77行,在星期五9月12日:17:41 2010客户端97.80.165.181连接= connectionsDEFAULT_DB_ALIAS错误文件"C:\Python26\lib\site-packages\django\db\utils.py",行91,在getitem Fri 03-9 12:17:41 2010 client 97.80.165.181后端=load_backend(db‘’ENGINE‘) Fri 9月12:17:41 2010客户端97.80.165.181文件行49,在load_backend Fri 03 12:17:41 2010客户端97.80.165.181提升ImproperlyConfigured(error_msg) Fri9月03 :17:41 2010客户端97.80.165.181 TemplateSyntaxError:捕捉ImproperlyConfigured同时呈现:'django.db.backends.postgresql_psycopg2‘不是可用的数据库后端。2010年9月5日12:17:41 2010客户端97.80.165.181尝试使用django.db.backends.XXX,其中之一是: Fri 9月03 :17:41 2010客户端97.80.165.181 ‘'dummy','mysql','oracle','postgresql',’postgresql_psycopg2 2‘,'sqlite3’Fri9月03-12:17:41 2010 client 97.80.165.181错误是:无法导入名称实用程序
你知道这可能意味着什么吗?
更新2:
原因是在文件django/db/backends/postgresql_psycopg2/base.py,版本2.2.2中,第9行:来自django.db导入实用程序
但我还是不知道怎么解决这个问题。有一个文件django/db/utils.py,所以它应该可以工作。毕竟,它适用于开发服务器。但不适合Apache + mod_wsgi
发布于 2010-09-03 06:56:37
也许这张票可以帮你:
或者不管值多少钱,我已经确认如果我将python2.6降级,然后同样地将mod_wsgi和psycopg2降级,Django将按照预期与Postgres一起处理Apache。
https://stackoverflow.com/questions/3633099
复制相似问题