0

有人能告诉我如何删除在 connection.py 文件中硬编码的 IP 地址吗?
我们被告知要检查 settings.py 以获取数据库连接设置,它的常见做法是让 settings.py 包含另一个文件,例如 settings_local.py 用于特定于环境的配置。
没有 settings_local.py。这个文件可以隐藏还是不存在?
如果它不存在,则可以创建它,希望删除硬编码的内容。

`/src/mongoengine/mongoengine/connection.py", line 126, in get_connection
    raise ConnectionError("Cannot connect to database %s :\n%s" % (alias, e))
    mongoengine.connection.ConnectionError: Cannot connect to database default :
    enter code here`could not connect to ip-10-171-58-44.ec2.internal:27017: timed out
4

1 回答 1

1

默认情况下,mongoengine 将尝试连接到 localhost。它没有在那里找到一个 mongo 实例,这是你的错误的根源。

ip-10-141-58-44.ec2.internal只是服务器的主机名;它在任何地方都没有硬编码。

看看你的settings.py文件,应该有这样一行:

connect('somenamehere')

其中 'somenamehere' 是您的数据库的名称;如果存在这样的行,则它正在尝试连接到本地主机上的 mongo。

现在你有两个选择:

  1. 在您的本地主机上设置 mongo。
  2. 更新settings.py并将其指向您的 mongo 数据库安装位置。你可以通过传入一个额外的参数host,来做到这一点connect('somenamehere', host='10.10.10.1')。有关更多信息,请参阅文档
于 2015-01-21T06:38:21.747 回答