2015-07-13 85 views
0

我目前正在Django + MongoDb中開發一個應用程序。一旦應用程序的URL被訪問,應用程序必須將數據推送到數據庫中。Django + MongoDb連接錯誤

但我怎麼過遇到此錯誤mongoengine.connection.ConnectionError: Cannot connect to database default : port must be an instance of int

由於錯誤狀態端口應該是一個「詮釋」,我在settings.py文件更改了端口細節從mongoengine.connect('employeedb', host='127.0.0.1', port='8000')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

+2

你改變你的MongoDB,從它的27017個 –

+0

沒有@ChrisHawkes默認端口能否請您指導我通過程序 – user61092

回答

1

安裝在本地電腦和設置DBPATH的MongoDB,

然後打開cmd並使用此命令打開連接:

C:/ mongodb的/ bin中>的mongod --dbpath (db的路徑)

然後在settings.py中替換你的連接線,就像這樣並運行你的項目。

mongoengine.connect('employeedb', username='', password='') 

讓我知道。

0

嘗試更換虛擬數據庫從DATABASES字典與以下,應該爲你工作。

DATABASES = { 
    'default' : { 
     'ENGINE' : 'django_mongodb_engine', 
     'NAME' : 'employeedb'  
    } 
} 

Django MongoDB引擎還考慮到主機,端口,用戶,密碼和選項設置。

如需更多幫助https://django-mongodb-engine.readthedocs.org/en/latest/reference/settings.html

+0

嘗試您的解決方案後,我遇到和錯誤'NotImplementedError:BaseDatabaseIntrospection的子類可能需要get_table_list()方法'。在進一步的研究中,我發現我安裝的django不支持非關係數據庫,我需要下載一個** django-nonrel **,這是一個django的分支,並且僅支持django 1.5版本, 1.6處於測試階段。那麼我現在該做什麼? – user61092

+0

是的,你是對的 – Shanki