连接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”。但是这些方法都不管用。