2013-03-14 72 views
2

我正尝试使用Mongodb与我的Djangodjango.core.exceptions.ImproperlyConfigured:名称必须是basestring的一个实例

下面有在settings.py

DEBUG = True 
TEMPLATE_DEBUG = DEBUG 

ADMINS = (
    # ('Your Name', '[email protected]'), 
) 


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 

我使用的Django 1.3

感谢提前

+0

你有没有数据库定义 – catherine 2013-03-14 08:52:05

+0

你为什么即使'syncdb'费心here in pymongo蒙戈?它将在首次访问时创建集合。 – freakish 2013-03-14 08:56:01

回答

6

我从来没有用过mo ngodb与Django,但我会采取一个刺只是跟踪跟踪。你需要的值在你的数据库配置添加到NAME设置

DATABASES = { 
    'default': { 
     'ENGINE': 'django_mongodb_engine', 
     'NAME': 'foobar',      
     'USER': '',      
     'PASSWORD': '',     
     'HOST': 'localhost',      
     'PORT': 27017,      
    } 
} 

错误被抛出其中创建around here via django_mongo_engine