有人可以告诉我如何删除在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
答案 0 :(得分:1)
默认情况下,mongoengine将尝试连接到localhost。它没有在那里找到mongo实例,这是你的错误的来源。
ip-10-141-58-44.ec2.internal
只是服务器的主机名;它在任何地方都没有硬编码。
查看您的settings.py
文件,应该有一行,例如:
connect('somenamehere')
其中'somenamehere'是数据库的名称;如果存在这样的行,则它尝试连接到localhost上的mongo。
现在你有两个选择:
settings.py
并将其指向您的mongo数据库安装位置。您可以通过传入额外参数host
,connect('somenamehere', host='10.10.10.1')
来执行此操作。有关详细信息,请参阅documentation。