【问题标题】:Django 1.4 + Apache WebServer + Mysql and PostgreSQL Connection ErrorDjango 1.4 + Apache WebServer + Mysql 和 PostgreSQL 连接错误
【发布时间】:2025-12-26 17:30:10
【问题描述】:

我已成功遵循 Django 1.4 教程 1-4(投票系统),现在它正在运行,直到我使用 Postgres 数据库将它部署到 Apache Webserver 2.2 中。每次我访问 localhost 我总是有“内部服务器错误”,但如果我使用 MySQL 作为我的数据库,一切都很好。你觉得哪里不对?我是否错过了在 Postgre 中配置的内容?

这是我在 Mysql(Working) 和 Postgre(Not Working) 中的数据库连接设置,均使用 Apache2.2 + mod_wsgi.so

//Postgre
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'django_demo1',                     
        'USER': 'postgres',
        'PASSWORD': 'mypassword', 
        'HOST': 'localhost',
        'PORT': '',       
    }
}

//MySQL
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django_demo1',                     
        'USER': 'root',
        'PASSWORD': 'mypassword', 
        'HOST': 'localhost',
        'PORT': '',       
    }
}

其他信息:

操作系统:Windows 7,Python:2.7,Django:1.4,Postgre 9.1

【问题讨论】:

  • 你安装了psycopg2模块吗?
  • apache 错误日志文件中的错误信息是什么?顺便提一句。在您的设置中启用 DEBUG=True。
  • 如果您需要了解详细信息,请检查您的网络服务器日志。我们只能猜测。例如,可能缺少 postgresql 的 python 依赖项。
  • 谢谢你们。我发现 psycopg2 没有找到。解决问题。
  • 我已经做到了!为你 +1!

标签: python django postgresql postgresql-9.1


【解决方案1】:

如果您能够访问 MySQL 但不能访问 Postgres,我猜 psycopg2 是未安装 Python 的 Postgres 适配器。使用 pip 安装 psycopg2。

pip 安装 psycopg2

这里是pypi

【讨论】:

  • 谢谢巴布!是的,我刚刚发现 psycopg2 丢失了。安装后一切正常。