2014-09-20 2 views
0

Мы создали нашу окружающую среду, используя Django 1.7, Mongoengine 0.8.7, MongoDB 2.4.7 и Python 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 параметр ENGINE не следует игнорировать, но мы обнаруживаем эту ошибку вместо. Кто-нибудь знает, как мы можем это решить?

ответ

0

После некоторого исследования мы выяснили, как решить проблему.

Вместо того, чтобы следовать примеру, который можно найти на http://www.django-rest-framework.org/, мы следовали за Quickstart guide. Следуя этому руководству, мы решили нашу проблему.

Большое спасибо за ответы!

+0

Вы получили django admin для работы с mongodb? – Bedros

+0

Привет @ Бедрос, извините, но нет. Если мы найдем способ, мы сообщим вам об этом. – Albert

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', 
) 

может быть, это поможет вам.

Смежные вопросы