使用MongoDB作为Django的后端:运行时出错";python manage.py migrate“;
我是Django新手,希望使用Django和Mongodb作为后端。我从互联网上给出的例子开始。但在我尝试运行迁移时遇到了一些问题 已安装:django 1.8、pymongo 2.8、mongodb Models.py使用MongoDB作为Django的后端:运行时出错";python manage.py migrate“;,python,django,mongodb,python-2.7,django-models,Python,Django,Mongodb,Python 2.7,Django Models,我是Django新手,希望使用Django和Mongodb作为后端。我从互联网上给出的例子开始。但在我尝试运行迁移时遇到了一些问题 已安装:django 1.8、pymongo 2.8、mongodb Models.py from __future__ import unicode_literal from mongoengine import * class Choice(EmbeddedDocument): choice_text = StringField(max_
from __future__ import unicode_literal
from mongoengine import *
class Choice(EmbeddedDocument):
choice_text = StringField(max_length=200)
votes = IntField(default=0)
class Poll(Document):
question = StringField(max_length=200)
pub_date = DateTimeField(help_text='date published')
choices = ListField(EmbeddedDocumentField(Choice))
Setttings.py:在mongodb中创建了一个用户“mango”。mongodb运行良好
import mongoengine
from mongoengine import connect
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.dummy',
},
}
SESSION_ENGINE = 'mongoengine.django.sessions'
_MONGODB_USER = 'mango'
_MONGODB_PASSWD = 'mango'
_MONGODB_HOST = 'localhost'
_MONGODB_NAME = 'performance'
_MONGODB_DATABASE_HOST = \
'mongodb://%s:%s@%s/%s' \
% (_MONGODB_USER, _MONGODB_PASSWD, _MONGODB_HOST, _MONGODB_NAME)
mongoengine.connect(_MONGODB_NAME, host=_MONGODB_DATABASE_HOST)
AUTHENTICATION_BACKENDS = (
'mongoengine.django.auth.MongoEngineBackend',
)
我试图运行python manage.py migrate,它抛出了以下错误。但是我可以从shell连接到Db。你们谁能帮我理解这个问题吗
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 353, in execute_from_command_line
utility.execute()
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 302, in execute
settings.INSTALLED_APPS
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 55, in __getattr__
self._setup(name)
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 43, in _setup
self._wrapped = Settings(settings_module)
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 99, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
__import__(name)
File "C:\Users\pm348b\Desktop\Praneeth_Desktop\Python_Programs\TEST\mysite\mysite\settings.py", line 118, in <module>
mongoengine.connect(_MONGODB_NAME, host=_MONGODB_DATABASE_HOST)
File "C:\Python27\lib\site-packages\mongoengine\connection.py", line 165, in connect
return get_connection(alias)
File "C:\Python27\lib\site-packages\mongoengine\connection.py", line 128, in get_connection
raise ConnectionError("Cannot connect to database %s :\n%s" % (alias, e))
mongoengine.connection.ConnectionError: Cannot connect to database default :
command SON([('saslStart', 1), ('mechanism', 'SCRAM-SHA-1'), ('autoAuthorize', 1), ('payload', Binary('n,,n=mango,r=OTc3NDkxNTE3NTM3', 0))]) on namespace performance.$cmd failed: Authentication failed.
回溯(最近一次呼叫最后一次):
文件“manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“C:\Python27\lib\site packages\django\core\management\\ uuuuu init\uuuuuu.py”,第353行,从命令行执行
utility.execute()
文件“C:\Python27\lib\site packages\django\core\management\\uuuu init\uuuuu.py”,第302行,在execute中
settings.INSTALLED\u应用程序
文件“C:\Python27\lib\site packages\django\conf\\ uuuuu init\uuuuu.py”,第55行,在\uuuu getattr中__
自我设置(名称)
文件“C:\Python27\lib\site packages\django\conf\\ uuuuu init\uuuuu.py”,第43行,在安装程序中
自包装=设置(设置模块)
文件“C:\Python27\lib\site packages\django\conf\\ uuuuu init\uuuuu.py”,第99行,在uuu init中__
mod=importlib.import\u模块(自我设置\u模块)
文件“C:\Python27\lib\importlib\\uuuu init\uuuuu.py”,第37行,在导入模块中
__导入(名称)
文件“C:\Users\pm348b\Desktop\praneth\u Desktop\Python\u Programs\TEST\mysite\mysite\settings.py”,第118行,在
connect(\u MONGODB\u名称,主机=\u MONGODB\u数据库\u主机)
文件“C:\Python27\lib\site packages\mongoengine\connection.py”,第165行,在connect中
返回get_连接(别名)
get\U连接中第128行的文件“C:\Python27\lib\site packages\mongoengine\connection.py”
raise ConnectionError(“无法连接到数据库%s:\n%s”%(别名,e))
mongoengine.connection.ConnectionError:无法连接到数据库默认值:
命名空间性能上的命令子([('saslStart',1),('mechanism','SCRAM-SHA-1'),('autoAuthorize',1),('payload',Binary('n,n=mango,r=OTc3NDkxNTE3NTM3',0))。$cmd失败:身份验证失败。
在settings.py文件中使用此选项
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'Name of the Cluster',
'HOST': 'The link which mongo provides for python',
'USER': "Created User's username",
'PASSWORD': 'Password of the above user',
}