2014-09-20 62 views
0

我們使用Django 1.7,Mongoengine 0.8.7,MongoDB 2.4.7Python 3.4來構建我們的環境。Django Mongoengine無法連接到MongoDB

我們已經安裝了django-rest-framework,可是當我們嘗試運行該網站的例子中,我們得到以下錯誤:

ImproperlyConfigured at /users/ 

settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details. 

Request Method:   GET 
Request URL:   http://localhost:8000/users/ 
Django Version:   1.7 
Exception Type:   ImproperlyConfigured 
Exception Value:   

settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details. 

Exception Location:   /Users/user_name/Development/projects/current_project/lib/python3.4/site-packages/django/db/backends/dummy/base.py in complain, line 18 
Python Executable:   /Users/user_name/Development/projects/current_project/bin/uwsgi 
Python Version:   3.4.1 
Python Path:   

['.', 
'', 
'/Users/user_name/Development/projects/current_project/lib/python34.zip', 
'/Users/user_name/Development/projects/current_project/lib/python3.4', 
'/Users/user_name/Development/projects/current_project/lib/python3.4/plat-darwin', 
'/Users/user_name/Development/projects/current_project/lib/python3.4/lib-dynload', 
'/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4', 
'/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/plat-darwin', 
'/Users/user_name/Development/projects/current_project/lib/python3.4/site-packages'] 

這是我們已經在我們的settings.py根據,我們有文件改變發現:

import mongoengine 

DATABASES = { 
    'default': { 
    'ENGINE': 'django.db.backends.dummy', 
    } 
} 

mongoengine.connect('database_name', username='root', password='password') 


SESSION_ENGINE = 'mongoengine.django.sessions' 
SESSION_SERIALIZER = 'mongoengine.django.sessions.BSONSerializer' 

對於我們所看到的,如果我們通過mongoengine.connect方法連接發動機參數不應該被忽視,但我們不是發現這個錯誤。任何人都知道我們如何解決它?

回答

0

經過一番研究,我們發現瞭如何解決這個問題。

除了可以在http://www.django-rest-framework.org/上找到的示例之外,我們還遵循Quickstart guide。遵循本指南,我們解決了我們的問題。

非常感謝所有的答案!

+0

你是否讓django管理員使用mongodb? – Bedros 2014-11-17 20:07:07

+0

嗨@Bedros,對不起,但沒有。如果我們找到方法,我們會讓你知道。 – Albert 2014-11-23 10:41:27

3

我使用MongoDB的設置在settings.py文件的末尾這樣

# Mongodb settings 

AUTHENTICATION_BACKENDS = (
    'mongoengine.django.auth.MongoEngineBackend', 
) 

MONGO_DATABASE_NAME = 'prod' 


MONGOENGINE_USER_DOCUMENT = 'mongoengine.django.auth.User' 

SESSION_ENGINE = 'mongoengine.django.sessions' 
SESSION_SERIALIZER = 'mongoengine.django.sessions.BSONSerializer' 

from mongoengine import connect 
connect(MONGO_DATABASE_NAME) 
0

內容添加到settings.py中:

AUTHENTICATION_BACKENDS = (
    'mongoengine.django.auth.MongoEngineBackend', 
) 

也許這可以幫助您。