我目前正在开发Django + MongoDb中的应用程序。应用程序必须在访问应用程序的URL后将数据推送到数据库中。
但我怎么遇到这个错误mongoengine.connection.ConnectionError: Cannot connect to database default : port must be an instance of int
由于错误状态port应该是' int',我将端口详细信息从mongoengine.connect('employeedb', host='127.0.0.1', port='8000')
更改为
我的settings.py文件中有mongoengine.connect('employeedb', host='127.0.0.1', port=8000)
但我收到错误,指出mongoengine.connection.ConnectionError: Cannot connect to database default : [Errno 111] Connection refused
有谁可以找出这里出了什么问题?
我正在使用:django==1.7, mongoengine, django-toolbox & pymongo==2.8
我的settings.py文件为here
编辑:我的操作系统= Ubuntu 14.04& 我还没有安装django-nonrel
答案 0 :(得分:1)
在本地pc中安装mongodb并设置dbpath,
然后使用以下命令打开cmd并打开连接:
c:/ mongodb / bin> mongod --dbpath(db的路径)
然后替换settings.py中的连接线,并运行您的项目。
mongoengine.connect('employeedb', username='', password='')
让我知道。
答案 1 :(得分:0)
尝试使用以下内容从DATABASES dict替换虚拟数据库,应该适合您。
DATABASES = {
'default' : {
'ENGINE' : 'django_mongodb_engine',
'NAME' : 'employeedb'
}
}
Django MongoDB Engine还考虑了HOST,PORT,USER,PASSWORD和OPTIONS设置。
获取更多帮助https://django-mongodb-engine.readthedocs.org/en/latest/reference/settings.html