运行Django报错“django.core.exceptions.ImproperlyConfigured ”?

python版本:3.7.4
django版本:3.2.19
mysqlclient版本:1.4.6
这是我的项目目录
image.png

这是我的settings.py里有关数据库的设置
image.png

以下是models.py文件下的内容
image.png

views.py 视图文件下编写如下代码
image.png

运行Django项目结果报错

D:\python3.8.6\python.exe F:\python_project\Django_demo\create_django_demo2\manage.py runserver 8000 
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
  File "D:\python3.8.6\lib\site-packages\django\db\utils.py", line 113, in load_backend
    return import_module("%s.base" % backend_name)
  File "D:\python3.8.6\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'django.db.backends.mysql'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\python3.8.6\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "D:\python3.8.6\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "D:\python3.8.6\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "D:\python3.8.6\lib\site-packages\django\core\management\commands\runserver.py", line 125, in inner_run
    autoreload.raise_last_exception()
  File "D:\python3.8.6\lib\site-packages\django\utils\autoreload.py", line 87, in raise_last_exception
    raise _exception[1]
  File "D:\python3.8.6\lib\site-packages\django\core\management\__init__.py", line 394, in execute
    autoreload.check_errors(django.setup)()
  File "D:\python3.8.6\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "D:\python3.8.6\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "D:\python3.8.6\lib\site-packages\django\apps\registry.py", line 116, in populate
    app_config.import_models()
  File "D:\python3.8.6\lib\site-packages\django\apps\config.py", line 269, in import_models
    self.models_module = import_module(models_module_name)
  File "D:\python3.8.6\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "D:\python3.8.6\lib\site-packages\django\contrib\auth\models.py", line 3, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "D:\python3.8.6\lib\site-packages\django\contrib\auth\base_user.py", line 57, in <module>
    class AbstractBaseUser(models.Model):
  File "D:\python3.8.6\lib\site-packages\django\db\models\base.py", line 143, in __new__
    new_class.add_to_class("_meta", Options(meta, app_label))
  File "D:\python3.8.6\lib\site-packages\django\db\models\base.py", line 371, in add_to_class
    value.contribute_to_class(cls, name)
  File "D:\python3.8.6\lib\site-packages\django\db\models\options.py", line 243, in contribute_to_class
    self.db_table, connection.ops.max_name_length()
  File "D:\python3.8.6\lib\site-packages\django\utils\connection.py", line 15, in __getattr__
    return getattr(self._connections[self._alias], item)
  File "D:\python3.8.6\lib\site-packages\django\utils\connection.py", line 62, in __getitem__
    conn = self.create_connection(alias)
  File "D:\python3.8.6\lib\site-packages\django\db\utils.py", line 193, in create_connection
    backend = load_backend(db["ENGINE"])
  File "D:\python3.8.6\lib\site-packages\django\db\utils.py", line 126, in load_backend
    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: 'django.db.backends.mysql' isn't an available database backend or couldn't be imported. Check the above exception. To use one of the built-in backends, use 'django.db.backends.XXX', where XXX is one of:
    'oracle', 'postgresql', 'sqlite3'

请问大佬们应该怎样解决?

阅读 2.9k
2 个回答

很简单,你以为你用的是 3.7,实际用的是 3.8

然后 3.8 下面没有 mysql 的驱动

应该是缺 mysqlclient 库。pip install mysqlclient

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏