2016-12-20 6 views
0

내 프로젝트에서 Django 1.8 및 MongoDB를 사용하고 있습니다. 나는 데이터베이스에 연결할 수 있습니다하지만 난이 오류 받고 있어요 views.py에 뭔가 수행 할 때 Mongod.exeDjango mongodb - settings.DATABASES가 잘못 구성되었습니다.

누군가가 저를 해결하는 데 도움을 줄 수 있습니다 :

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

Request Method: POST 
Request URL: http://127.0.0.1:8000/make_histograms 
Django Version: 1.8 
Python Executable: G:\Stamp 2\VENV2\Scripts\python.exe 
Python Version: 2.7.12 
Python Path: ['G:\\Stamp 2\\znaczki2', 'G:\\Stamp 2\\VENV2\\Scripts\\python27.zip', 'G:\\Stamp 2\\VENV2\\DLLs', 'G:\\Stamp 2\\VENV2\\lib', 'G:\\Stamp 2\\VENV2\\lib\\plat-win', 'G:\\Stamp 2\\VENV2\\lib\\lib-tk', 'G:\\Stamp 2\\VENV2\\Scripts', 'c:\\python27\\Lib', 'c:\\python27\\DLLs', 'c:\\python27\\Lib\\lib-tk', 'G:\\Stamp 2\\VENV2', 'G:\\Stamp 2\\VENV2\\lib\\site-packages'] 
Server time: Tue, 20 Dec 2016 17:23:38 +0100 
Installed Applications: 
('django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'app') 
Installed Middleware: 
('django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.common.CommonMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'django.middleware.clickjacking.XFrameOptionsMiddleware', 
'django.middleware.security.SecurityMiddleware') 

Traceback: 
File "G:\Stamp 2\VENV2\lib\site-packages\django\core\handlers\base.py" in get_response 
132.response = wrapped_callback(request, *callback_args, **callback_kwargs) 
File "G:\Stamp 2\VENV2\lib\site-packages\django\views\decorators\csrf.py" in wrapped_view 
58.   return view_func(*args, **kwargs) 
File "G:\Stamp 2\znaczki2\app\views.py" in make_histograms 
62.    example.save() 
File "G:\Stamp 2\VENV2\lib\site-packages\django\db\models\base.py" in save 
710.      force_update=force_update, update_fields=update_fields) 
File "G:\Stamp 2\VENV2\lib\site-packages\django\db\models\base.py" in save_base 
735.   with transaction.atomic(using=using, savepoint=False): 
File "G:\Stamp 2\VENV2\lib\site-packages\django\db\transaction.py" in __enter__ 
150.    if not connection.get_autocommit(): 
File "G:\Stamp 2\VENV2\lib\site-packages\django\db\backends\base\base.py" in get_autocommit 
286.   self.ensure_connection() 
File "G:\Stamp 2\VENV2\lib\site-packages\django\db\backends\dummy\base.py" in complain 
21.  raise ImproperlyConfigured("settings.DATABASES is improperly configured. " 

Exception Type: ImproperlyConfigured at /make_histograms 
Exception Value: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details. 

을하지만, 내가 볼 MongoDB를 연결 괜찮 이 문제? settings.py

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

_MONGODB_USER = 'marcin' 
_MONGODB_PASSWD = '1234' 
_MONGODB_HOST = 'localhost' 
_MONGODB_NAME = 'znaczki' 
_MONGODB_DATABASE_HOST = \ 
    'mongodb://%s:%[email protected]%s/%s' \ 
    % (_MONGODB_USER, _MONGODB_PASSWD, _MONGODB_HOST, _MONGODB_NAME) 

mongoengine.connect(_MONGODB_NAME, host=_MONGODB_DATABASE_HOST) 
+0

어떻게'settings.py' 파일에'DATABASES' 부분은 무엇입니까? – ettanany

+0

@ettanany 데이타베이스 = { '기본': { '엔진': 'django.db.backends.dummy', } } – BigTrunk98

+0

당신의 settings.py에 몽고의 설정을 추가 했습니까? – ettanany

답변

0

귀하의 settings.py 파일

내 데이터베이스 sectiion이 포함되어야 다음

import mongoengine 

# ... 

# DATABASES section should be: 
DATABASES = { 
    'default': { 
     'ENGINE': '', 
    }, 
} 

SESSION_ENGINE = 'mongoengine.django.sessions' 

_MONGODB_USER = 'db_user' 
_MONGODB_PASSWD = 'db_password' 
_MONGODB_HOST = 'db_host' 
_MONGODB_NAME = 'db_name' 
_MONGODB_DATABASE_HOST = \ 
    'mongodb://%s:%[email protected]%s/%s' \ 
    % (_MONGODB_USER, _MONGODB_PASSWD, _MONGODB_HOST, _MONGODB_NAME) 

mongoengine.connect(_MONGODB_NAME, host=_MONGODB_DATABASE_HOST) 

# ... 

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

이제 다음 오류가 발생합니다 : 'ImportError : django.sessions라는 모듈이 없습니다' – BigTrunk98

+0

해당 행에 주석을 달면 어떻게됩니까? 왜냐하면 필요하지 않기 때문입니다. – ettanany

+0

이제 제 질문과 같은 오류가 발생합니다. – BigTrunk98