我正在尝试按照此处的说明为我的django应用程序配置Django管理站点:https://docs.djangoproject.com/en/dev/ref/contrib/admin/。
我运行开发服务器但是当我尝试访问/admin
url时,我得到一个错误,堆栈跟踪说没有连接到数据库。我是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数据库中创建了几个集合)。所以在这种情况下,它只是起作用。与上述情况有什么不同?
谢谢
答案 0 :(得分:1)
(发布作为答案,以便您可以关闭问题)
每the docs,您需要使用connect()
方法显式连接到MongoDB。这可以是一个简单的
connect('dbname')
如果您在本地计算机上运行MongoDB,并且还接受host
,port
(应该是int
),username
和{的关键字参数{1}},并且还接受对pymongo.connection.Connection
同样根据the docs,您拨打password
的正确位置位于connect()
。