Django.db.utils.ConnectionDoesNotExist:连接默认不存在

Kab*_*ali 7 python django mongodb

我正在尝试使用mongoengine(0.6.0)驱动程序将mongo(v4.0.3)dbdjango(v1.11)连接。显示连接不存在。

我的settings.py文件如下:

import os

import mongoengine

dbname = 'newdb'

mongoengine.connect(dbname, host='127.0.0.1', port = 27017)

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

SECRET_KEY = ''

DEBUG = True

ALLOWED_HOSTS = []


INSTALLED_APPS = [

    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mdbcapp',
 ]

 MIDDLEWARE = [

    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
 ]

 ROOT_URLCONF = 'multiple_databses_connections.urls'

 TEMPLATES = [

    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
 ]

 WSGI_APPLICATION = 'multiple_databses_connections.wsgi.application'

 DATABASES = {

    'dfault': {
        'ENGINE': '',
        'NAME'  : ''
       }


 AUTH_PASSWORD_VALIDATORS = [

    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },


LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True

STATIC_URL = '/static/'
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

回溯(最近一次调用最后一次):

文件“manage.py”,第22行,在execute_from_command_line(sys.argv) 文件“/usr/local/lib/python2.7/dist-packages/django/core/management/ init .py”,第363行,在execute_from_command_line utility.execute() 文件“/usr/local/lib/python2.7/dist-packages/django/core/management/ init .py”,第 337 行,执行 django.setup() 文件“/usr/local/ lib/python2.7/dist-packages/django/ init .py”,第 27 行,安装 apps.populate(settings.INSTALLED_APPS) 文件“/usr/local/lib/python2.7/dist-packages/django/apps /registry.py”,第 108 行,填充 app_config.import_models() 文件“/usr/local/lib/python2.7/dist-packages/django/apps/config.py”,第 202 行,在 import_models self.models_module 中= import_module(models_module_name) 文件“/usr/lib/python2.7/importlib/ init .py”,第 37 行,在 import_module 中 导入(名称)文件“/usr/local/lib/python2.7/dist-packages/django /contrib/auth/models.py”,第 4 行,来自 django.contrib.auth.base_user 导入 AbstractBaseUser,BaseUserManager 文件“/usr/local/lib/python2.7/dist-packages/django/contrib/auth/base_user .py”,第 52 行,在类 AbstractBaseUser(models.Model) 中:文件“/usr/local/lib/python2.7/dist-packages/django/db/models/base.py”,第 124 行,在新的 new_class中.add_to_class('_meta', Options(meta, app_label)) 文件“/usr/local/lib/python2.7/dist-packages/django/db/models/base.py”,第 330 行,在 add_to_class value.contribute_to_class (cls,名称)文件“/usr/local/lib/python2.7/dist-packages/django/db/models/options.py”,第214行,在contribute_to_class self.db_table = truncate_name(self.db_table, connection. ops.max_name_length()) 文件“/usr/local/lib/python2.7/dist-packages/django/db/ init .py”,第 33 行,在getattr中 返回 getattr(connections[DEFAULT_DB_ALIAS], item) 文件“/ usr/local/lib/python2.7/dist-packages/django/db/utils.py”,第 208 行,在getitem self.ensure_defaults(alias) 文件“/usr/local/lib/python2.7/dist-packages /django/db/utils.py",第 178 行,在 Ensure_defaults 中 raise ConnectionDoesNotExist("连接 %s 不存在" % 别名) django.db.utils.ConnectionDoesNotExist:连接默认值不存在

我该如何解决这个问题?

dud*_*esh 0

您仅使用 Mongo 引擎。但在设置文件中,数据库 ENGINE 键是必需的。添加这一行ENGINE

DATABASES = {
    'default': {
        'ENGINE': 'django.core.cache.backends.dummy.DummyCache',
        'NAME': 'mydatabase',
     }
}
Run Code Online (Sandbox Code Playgroud)

但它可能会抛出诸如数据库配置不当之类的错误,这是可以忽略的。

有关更多信息,请参考链接 https://docs.djangoproject.com/en/dev/ref/settings/#backend