首页 > 解决方案 > 无法将主机名“postgres”转换为地址:未知主机

问题描述

设置 Django 项目,但我收到有关设置的警告,postgres如标题所示,但我不确定这意味着什么。

完整的警告信息:

RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': could not translate host name "postgres" to address: Unknown host

这是我postgres在我的定义settings.py

DATABASES = {
"default": {
    "ENGINE": "django.db.backends.postgresql_psycopg2",
    "NAME": os.environ.get("DB_NAME", "dbname"),
    "USER": os.environ.get("DB_USER", "dbuser"),
    "PASSWORD": os.environ.get("DB_PASSWORD", "dbpassword"),
    "HOST": os.environ.get("DB_HOST", "postgres"),
    "PORT": os.environ.get("DB_PORT", "5432"),
}

}

有人可以带我了解这里出了什么问题吗?我不知道。

标签: pythondjango

解决方案


为了将 django 与 postgresql 一起使用,您需要一个可访问的 postgresql 服务器。

您可以在本地安装和运行它:https ://www.postgresql.org/download/

然后你的 postgresql 服务器将可以在你的 localhost 界面上访问。这个 DB_HOST 配置变量代表你的 django 服务器应该联系你的 postgresql 服务器的地址。

因此,您可以将 DB_HOST 环境变量的默认值从“postgres”更改为“localhost”,或者直接将其设置到您的环境中(例如使用 .env 文件


推荐阅读