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
?它将在首次访问时创建集合。