c24*_*24b 6 python django mongodb mongoengine
在我的新Django项目中,我设置了一个MongoDb数据库并使用mongoengine模块,但是我无法在视图中的shell中正确访问dabase nore."ConnectionError:您尚未定义默认连接"
我的settings.py包括以下内容:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DaTaBaSe',
'USER': 'root',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '3306',
},
'tracking': {
'ENGINE': 'django.db.backends.dummy',
'NAME': 'analytics',
}
}
import mongoengine
SESSION_ENGINE = 'mongoengine.django.sessions'
mongoengine.connect(_MONGODB_NAME, 'localhost:27017')
AUTHENTICATION_BACKENDS = (
'mongoengine.django.auth.MongoEngineBackend',
)
Run Code Online (Sandbox Code Playgroud)
在models.py中导入mongoengine
from mongoengine import *
from myproject.settings import _MONGODB_NAME
mongoengine.connect(_MONGODB_NAME, 'localhost:27017')
Run Code Online (Sandbox Code Playgroud)
提前感谢您的帮助
在您的 settings.py 文件中替换:
mongoengine.connect(_MONGODB_NAME, 'localhost:27017')
Run Code Online (Sandbox Code Playgroud)
使用以下代码(注意添加的“ host= ”):
mongoengine.connect(_MONGODB_NAME, host='localhost:27017')
Run Code Online (Sandbox Code Playgroud)
小智 0
要将 django 与 MongoDB 一起使用,请不要使用https://www.djangoproject.com上提供的 django 软件包并安装其他软件包(例如 mongoengine),如果按照此过程您会发现很多困难。
相反,您需要使用 django 的 no@rel 版本,它是从 djangoproject 分叉出来的,并添加了 MongoDB 支持,我相信它将使设置过程和开发过程变得更加容易。
点击此链接安装并设置 Django 与 MongoDB。 http://django-mongodb-engine.readthedocs.org/en/latest/topics/setup.html
“*Django-nonrel 和 MongoDB 上的错误:AutoField(默认主键)值必须是表示 MongoDB 上的 ObjectId 的字符串(改为 u'1')。请确保您的 SITE_ID 包含有效的 ObjectId 字符串。*”
https://gist.github.com/ielshareef/2986459
如果您需要更多帮助,请告诉我。