连接 Django 和 Mongoengine 的问题

问题描述 投票:0回答:0

连接django 和mongoengine 有问题。我按照教程描述的那样做了所有事情,但它不起作用。问题出在 settings.py 中的 DATABASE 注释部分。我该如何解决?

依赖项:

djangorestframework==3.14.0
django-rest-framework-mongoengine==3.4.1
django-cors-headers==3.14.0
pymongo[snappy,gssapi,srv,tls]==4.3.3
mongoengine==0.27.0
dnspython

设置.py

import mongoengine

mongoengine.connect(db="mongo", host="mongodb://localhost:27017")

# DATABASES = {
#     'default': {
#         'ENGINE': 'django.db.backends.postgresql_psycopg2',
#         'NAME': 'db_name',
#         'USER': 'my-name',
#         'PASSWORD': 'my-pass',
#         'HOST': '127.0.0.1',
#         'PORT': '5432',
#     }
# }


错误:

(venv) PS C:\Users\barma\PycharmProjects\spr_django> python manage.py  migrate       
Traceback (most recent call last):
  File "C:\Users\barma\PycharmProjects\spr_django\manage.py", line 22, in <module>
    main()
  File "C:\Users\barma\PycharmProjects\spr_django\manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\core\management\__init__.py", line 446, in execute_from_command_line
    utility.execute()
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\core\management\__init__.py", line 440, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\core\management\base.py", line 402, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\core\management\base.py", line 448, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\core\management\base.py", line 96, in wrapped
    res = handle_func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\core\management\commands\migrate.py", line 114, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
(venv) PS C:\Users\barma\PycharmProjects\spr_django> python manage.py  migrate
Traceback (most recent call last):
  File "C:\Users\barma\PycharmProjects\spr_django\manage.py", line 22, in <module>
    main()
  File "C:\Users\barma\PycharmProjects\spr_django\manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\core\management\__init__.py", line 446, in execute_from_command_line
    utility.execute()
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\core\management\__init__.py", line 440, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\core\management\base.py", line 402, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\core\management\base.py", line 448, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\core\management\base.py", line 96, in wrapped
    res = handle_func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\core\management\commands\migrate.py", line 114, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\db\migrations\executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\db\migrations\loader.py", line 58, in __init__
    self.build_graph()
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\db\migrations\loader.py", line 235, in build_graph
    self.applied_migrations = recorder.applied_migrations()
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\db\migrations\recorder.py", line 81, in applied_migrations
    if self.has_table():
       ^^^^^^^^^^^^^^^^
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\db\migrations\recorder.py", line 57, in has_table
    with self.connection.cursor() as cursor:
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\db\backends\base\base.py", line 323, in cursor
    return self._cursor()
           ^^^^^^^^^^^^^^
  File "C:\Users\barma\PycharmProjects\spr_django\venv\Lib\site-packages\django\db\backends\dummy\base.py", line 20, in complain
    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.
(venv) PS C:\Users\barma\PycharmProjects\spr_django> 

我尝试评论和取消评论数据库部分,我尝试在引擎中写“mongoengine”。但是这些方法都不管用。

django mongodb mongoengine
© www.soinside.com 2019 - 2024. All rights reserved.