如何定义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',
}
}
我该如何解决这个问题?
答案 0 :(得分:1)
mongoengine不需要任何额外设置即可连接到mongodb。您提供的设置必须足够。
我建议你重新检查你的mongodb安装。
试试sudo apt-get remove mongodb
和sudo apt-get install mongodb
这可以解决您的问题。
此外,如果您不使用sql-databases,则无需定义虚拟数据库后端。