【发布时间】:2015-11-20 12:48:58
【问题描述】:
如何定义 django 应用程序的设置以使用与 django 项目在同一实例上运行的 mongodb 服务器。我在 django 应用程序的设置中使用127.0.0.1、port 27017(我假设这是运行 mongodb 服务器的默认端口)尝试了它。然后我用 aws 实例的 IP 地址尝试了它,但没有运气。它总是给我这个错误:
ConnectionError: You have not defined a default connection
我的 django 项目有以下 mongo 设置。
MONGO_SETTINGS = {
'DB_NAME' : 'spotmentor',
'HOST' : '127.0.0.1',
'PORT' : 27017,
'USERNAME' : '',
'PASSWORD' : ''
}
然后我使用mongoengine connect建立连接。
我将上述MONGO_SETTINGS 导入为mongoset 和
from mongoengine import connect
connect(mongoset.get('DB_NAME'), host = mongoset.get('HOST'), port = mongoset.get('PORT'), username = mongoset.get('USERNAME'), password = mongoset.get('PASSWORD'))
我将 HOST 键的值更改为 aws 实例公共 IP,但我仍然得到相同的 ConnectionError。
我也定义了:
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.dummy',
}
}
我该如何解决这个问题?
【问题讨论】:
-
要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。
-
它会给你这个错误,因为你没有定义
DATABASES设置。您需要阅读 django 文档。 -
我已经定义了
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.dummy', } } -
但我认为 mongoengine 不会寻找 DATABASES 设置键。 Mongoengine 不使用该密钥连接到数据库。如果我跳过那部分,我可以直接使用
mongoengine.connect,它仍然对我有用。
标签: django mongodb amazon-web-services