当前位置: 首页 > 知识库问答 >
问题:

ConnectionDoesNotexist:连接默认值不存在

颜举
2023-03-14

我正在尝试使用mongoengine(0.6.0)驱动程序将mongo(V4.0.3)db与django(V1.11)连接起来。它显示连接不存在。

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/'

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

文件“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行,execute django.setup()文件“r/local/lib/python2.7/dist-packages/django/apps/registry.py”,第108行,在populate 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”中,在.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 new_class.add_to_class('_meta',Options(meta,app_label))中文件”/usr/local/lib/python2.7/dist-packages/django/db/models/base.py“,第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 jango/db/utils.py”,第178行,在ensure_defaults中引发ConnectionDoesNotExist(“连接%s不存在”%alias)django.db.utils.ConnectionDoesnotexist:连接默认值不存在

我怎么解决这个问题?

共有1个答案

庾兴发
2023-03-14

Sqlite的默认设置

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
 }
}

MySQL的设置

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'my_db_name',
    'USER': 'root',
    'PASSWORD': '',
    'HOST':'localhost',
    'PORT':'3306'
  }
 }
 类似资料:
  • 我有两个数据帧 df1 和 df2。我正在尝试加入(左加入) DF1: df2: Final=df1.join(df2,on=['ID'],how='left') 但是,如果值为空,我想用column值填充 列 预期输出: 解决方案,我能想到的是,一旦连接完成,我可以检查的值,如果为空,则替换为。如果有其他优雅的解决方法,请告诉我。谢谢。

  • 我声明了一个该类型的变量,并初始化了所有属性 然后我稍后在一个init函数中为它们赋值实数 但我不喜欢在声明对象时为每个属性指定一组缺省空值,因为它们稍后将被设置为实值。我能告诉接口将我不提供的属性默认为null吗?什么会让我这么做: 而不会得到编译器错误。现在它告诉我 TS2322:类型“{}”不能分配给类型“ix”。类型“{}”中缺少属性“b”。

  • 我正在使用spring rest控制器。 这是代码。 如果我使用枚举作为defaultValue我得到注释属性的值Request estParam.defaultValue必须是一个常量表达式。 根据我的理解,它应该接受enum作为默认值。 请给出建议。

  • 注:内容翻译自官网文档 Language Guide (proto3) 中的 Default Values 一节 当消息被解析时, 如果被编码的消息没有包含特定的简单元素, 被解析的对象对应的字段被设置为默认值. 默认值是和类型有关的: 对于strings, 默认值是空字符串(注, 是"", 而不是null) 对于bytes, 默认值是空字节(注, 应该是byte[0], 注意这里也不是null)

  • 问题内容: 有什么方法可以使JAXB不保存其值是@Element批注中指定的默认值的字段,然后在从XML加载null或空值的元素时对其设置值?一个例子: 应生成: 而当加载 我正在尝试执行此操作,以生成干净的XML配置文件,并使其可读性更强且尺寸更小。 敬请谅解,谢谢。 问题答案: 您可以通过在get / set方法中使用逻辑并将逻辑放入其中来执行以下操作: 例 演示版 输出量 想要查询更多的信息

  • 问题内容: 需要使用意大利语翻译查找所有单词,如果不存在意大利语,则需要使用西班牙语(默认语言)。 我不能使用多个查询,并且存在条件(技术限制) 字 笔译 结果: 这段代码返回了我需要的全部信息,但是我无法在我所处的情况下使用存在条件的地方 问题答案: 我会在桌子上加入桌子两次,每种语言一次: