0

https://docs.djangoproject.com/en/dev/ref/contrib/admin/の手順に従って、djangoアプリケーション用にDjango管理サイトを構成しようとしています。開発サーバーを実行していますが、/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

(質問を閉じることができるように回答として投稿する)

ドキュメントによると、メソッドを使用してMongoDBに明示的に接続する必要がありますconnect()。これは単純な場合があります

connect('dbname')

ローカルマシンでMongoDBを実行していてhost、、portint) 、、、usernameおよびのキーワード引数も受け入れ、さらにpymongo.connection.Connectionpasswordに有効な他のキーワード引数を受け入れる場合

また、ドキュメントによると、電話をかけるのに適切な場所connect()はにありますsettings.py

于 2011-07-06T19:52:19.810 に答える