Django切换PostgreSQL时出现主机名解析错误求助
Django切换PostgreSQL连接失败的解决方法
错误原因是你的HOST配置格式错误:Django连接PostgreSQL时,HOST字段只需要填写主机地址(如localhost或IP),不需要带JDBC前缀、端口和数据库名,你当前填的是完整的JDBC URL,导致系统无法解析主机名。
正确的数据库配置
修改settings.py中的DATABASES配置如下:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'postgres', 'USER': 'postgres', 'PASSWORD': 'postgres', 'HOST': 'localhost', 'PORT': '5432' } }
后续必要操作
- 安装PostgreSQL的Python驱动:执行命令
pip install psycopg2-binary(psycopg2-binary是预编译版本,无需编译环境,更易安装) - 确认本地PostgreSQL服务已启动,且5432端口未被占用
- 确保配置中
NAME对应的数据库已在PostgreSQL中创建(可通过pgAdmin可视化工具或createdb postgres命令创建) - 重新执行迁移命令:
python manage.py migrate
内容的提问来源于stack exchange,提问作者Peter Kronenberg
相关产品推荐
相关产品推荐

