0

我正在尝试按照此处的说明为我的 django 应用程序配置 Django 管理站点:https ://docs.djangoproject.com/en/dev/ref/contrib/admin/ 。我运行开发服务器,但是当我尝试访问/adminurl 时,我收到一个堆栈跟踪错误,指出没有与数据库的连接。我是 django 的新手,我假设我不需要使用 django 模型层显式创建与数据库的连接。我错过了什么?

Traceback:
File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" in get_response
  178.                 response = middleware_method(request, response)
File "/usr/local/lib/python2.6/dist-packages/django/contrib/sessions/middleware.py" in process_response
  36.                 request.session.save()
File "/usr/local/lib/python2.6/dist-packages/mongoengine/django/sessions.py" in save
  48.         s = MongoSession(session_key=self.session_key)
File "/usr/local/lib/python2.6/dist-packages/django/contrib/sessions/backends/base.py" in _get_session_key
  175.             self._session_key = self._get_new_session_key()
File "/usr/local/lib/python2.6/dist-packages/django/contrib/sessions/backends/base.py" in _get_new_session_key
  167.             if not self.exists(session_key):
File "/usr/local/lib/python2.6/dist-packages/mongoengine/django/sessions.py" in exists
  34.         return bool(MongoSession.objects(session_key=session_key).first())
File "/usr/local/lib/python2.6/dist-packages/mongoengine/queryset.py" in __get__
  1151.         db = _get_db()
File "/usr/local/lib/python2.6/dist-packages/mongoengine/connection.py" in _get_db
  45.             raise ConnectionError('Not connected to the database')

Exception Type: ConnectionError at /admin/
Exception Value: Not connected to the database

我跑了manage.py syncdb,我可以看到与 mongodb 数据库的连接有效(它在我的 mongodb 数据库中创建了几个集合)。所以在这种情况下它只是工作。与上面的案例有什么不同?

谢谢

4

1 回答 1

1

(作为答案发布,以便您可以关闭问题)

根据文档,您确实需要使用该connect()方法显式连接到 MongoDB。这可以是一个简单的

connect('dbname')

如果您在本地计算机上运行 MongoDB,并且还接受hostport(应该是int)、username和的关键字参数,并且还接受对pymongo.connection.Connectionpassword有效的其他关键字参数

同样根据文档,拨打电话的正确位置connect()是 in settings.py

于 2011-07-06T19:52:19.810 回答