python - 无法将主机名“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"),
}
}
有人可以带我了解这里出了什么问题吗?我不知道。
解决方案
为了将 django 与 postgresql 一起使用,您需要一个可访问的 postgresql 服务器。
您可以在本地安装和运行它:https ://www.postgresql.org/download/
然后你的 postgresql 服务器将可以在你的 localhost 界面上访问。这个 DB_HOST 配置变量代表你的 django 服务器应该联系你的 postgresql 服务器的地址。
因此,您可以将 DB_HOST 环境变量的默认值从“postgres”更改为“localhost”,或者直接将其设置到您的环境中(例如使用 .env 文件)
推荐阅读
- python - Hashlib,故障调试
- python - 构建 python - R - python 管道
- r - 如何在 R 中将每一行中的单词从一列匹配到带有单词的数据框?
- kubernetes - 来自服务器的错误 (NotFound): deployments.extensions "production" not found
- c - 将 MIPS 指令转换为二进制,然后转换为十六进制
- c# - 在所有中间件执行完成之前,http 响应数据包是否开始发送给调用者?(aspnetcore)
- php - 在 Laravel 中处理 Stripe 付款意图和 Paypal 付款的最聪明方法
- ios - 你能在 UITextView 中显示音频播放器和 pdf 文件吗?
- amazon-ec2 - 在 boto3 中实现 EC2 及其相关资源的自动标记
- neural-network - 预期 lstm_1 的形状为 (20, 256) 但得到的数组形状为 (1, 76)