django.core.exceptions.ImpropertlyConfigured:名称必须是basestring的实例
我正在尝试在我的django.core.exceptions.ImpropertlyConfigured:名称必须是basestring的实例,django,mongodb,django-nonrel,django-mongodb-engine,Django,Mongodb,Django Nonrel,Django Mongodb Engine,我正在尝试在我的Django中使用Mongodbwith 下面是settings.py中的连接设置 DEBUG = True TEMPLATE_DEBUG = DEBUG ADMINS = ( # ('Your Name', 'your_email@example.com'), ) MANAGERS = ADMINS DATABASES = { 'default': { 'ENGINE': 'django_mongodb_engine',
Django
中使用Mongodb
with
下面是settings.py中的连接设置
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
# ('Your Name', 'your_email@example.com'),
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'django_mongodb_engine',
'NAME': '',
'USER': '',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': 27017,
}
}
当我试图运行python manage.py syncdb
时,我遇到如下错误:
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_from_command_line(sys.argv)
File "/home/sakeer/workspace/entevirtual/lib/python2.7/site-packages/django/core/management/__init__.py", line 429, in execute_from_command_line
utility.execute()
File "/home/sakeer/workspace/entevirtual/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/sakeer/workspace/entevirtual/lib/python2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/home/sakeer/workspace/entevirtual/lib/python2.7/site-packages/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/home/sakeer/workspace/entevirtual/lib/python2.7/site-packages/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/home/sakeer/workspace/entevirtual/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 59, in handle_noargs
tables = connection.introspection.table_names()
File "/home/sakeer/workspace/entevirtual/lib/python2.7/site-packages/django_mongodb_engine-0.4.0-py2.7.egg/django_mongodb_engine/base.py", line 76, in table_names
File "/home/sakeer/workspace/entevirtual/lib/python2.7/site-packages/django_mongodb_engine-0.4.0-py2.7.egg/django_mongodb_engine/base.py", line 106, in __getattr__
File "/home/sakeer/workspace/entevirtual/lib/python2.7/site-packages/django_mongodb_engine-0.4.0-py2.7.egg/django_mongodb_engine/base.py", line 133, in _connect
File "/home/sakeer/workspace/entevirtual/lib/python2.7/site-packages/pymongo-2.4.2-py2.7-linux-x86_64.egg/pymongo/mongo_client.py", line 1025, in __getitem__
File "/home/sakeer/workspace/entevirtual/lib/python2.7/site-packages/pymongo-2.4.2-py2.7-linux-x86_64.egg/pymongo/mongo_client.py", line 1014, in __getattr__
File "/home/sakeer/workspace/entevirtual/lib/python2.7/site-packages/pymongo-2.4.2-py2.7-linux-x86_64.egg/pymongo/database.py", line 74, in __init__
django.core.exceptions.ImproperlyConfigured: name must be an instance of basestring
回溯(最近一次呼叫最后一次):
文件“manage.py”,第11行,在
从命令行(sys.argv)执行命令
文件“/home/sakeer/workspace/entevirtual/lib/python2.7/site packages/django/core/management/_init__.py”,第429行,从命令行执行
utility.execute()
文件“/home/sakeer/workspace/entevirtual/lib/python2.7/site packages/django/core/management/__init__.py”,第379行,在execute中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/home/sakeer/workspace/entevirtual/lib/python2.7/site-packages/django/core/management/base.py”,第191行,运行于
self.execute(*args,**选项._dict__;
文件“/home/sakeer/workspace/entevirtual/lib/python2.7/site packages/django/core/management/base.py”,第220行,在execute中
输出=self.handle(*args,**选项)
handle中的文件“/home/sakeer/workspace/entevirtual/lib/python2.7/site packages/django/core/management/base.py”,第351行
返回self.handle\u noargs(**选项)
handle_noargs中的文件“/home/sakeer/workspace/entevirtual/lib/python2.7/site packages/django/core/management/commands/syncdb.py”,第59行
tables=connection.introspection.table_names()
文件“/home/sakeer/workspace/entevirtual/lib/python2.7/site packages/django_mongodb_engine-0.4.0-py2.7.egg/django_mongodb_engine/base.py”,第76行,在表中
文件“/home/sakeer/workspace/entevirtual/lib/python2.7/site packages/django\u mongodb\u engine-0.4.0-py2.7.egg/django\u mongodb\u engine/base.py”,第106行,在__
文件“/home/sakeer/workspace/entevirtual/lib/python2.7/site packages/django\u mongodb\u engine-0.4.0-py2.7.egg/django\u mongodb\u engine/base.py”,第133行,在“连接”中
文件“/home/sakeer/workspace/entevirtual/lib/python2.7/site packages/pymongo-2.4.2-py2.7-linux-x86_64.egg/pymongo/mongo_client.py”,第1025行,在__
文件“/home/sakeer/workspace/entevirtual/lib/python2.7/site packages/pymongo-2.4.2-py2.7-linux-x86_64.egg/pymongo/mongo_client.py”,第1014行,位于__
文件“/home/sakeer/workspace/entevirtual/lib/python2.7/site packages/pymongo-2.4.2-py2.7-linux-x86_64.egg/pymongo/database.py”,第74行,在__
django.core.exceptions.ImpropertlyConfigured:名称必须是basestring的实例
我正在使用django 1.3
提前感谢我从未将mongodb与django一起使用过,但我将尝试一下跟踪。您需要在数据库配置中的名称设置中添加一个值
DATABASES = {
'default': {
'ENGINE': 'django_mongodb_engine',
'NAME': 'foobar',
'USER': '',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': 27017,
}
}
正在抛出创建的错误您没有数据库定义为什么还要用Mongo处理syncdb
?它将在首次访问时创建集合。