学习Django有一段时间了,一直在做一个项目。一切都很好,直到昨天我在研究一个新课题时,保存了项目并关闭了我的电脑。没有错误或任何东西。今天,当我尝试使用命令“py manage.py runserver”运行我的项目时,我收到错误“ModuleNotFoundError:没有名为‘settings’的模块”。我花了足够的时间试图解决这个问题,并认为错误出在我的项目中。我无法解决它并决定在新的虚拟环境中创建一个全新的项目。令我惊讶的是,在这个全新的项目中也出现了同样的错误。我认为我可能做错了什么,所以我在我的笔记本电脑上重复了项目创建,一切都按预期进行,没有错误。我尝试重新安装 PyCharm 和 Python,但没有帮助。我不认为我可以继续在这台电脑上使用 Django 了......
我不知道解决这个问题可能需要什么数据,所以我至少会提供一些东西。 这些是刚刚创建的项目的数据。 完整错误: 在处理上述异常的过程中,又出现了一个异常:
> Traceback (most recent call last):
> File "C:\Django2\metanit\manage.py", line 22, in <module>
> main()
> File "C:\Django2\metanit\manage.py", line 18, in main
> execute_from_command_line(sys.argv)
> File "C:\Django2\venv\Lib\site-packages\django\core\management\__init__.py", line 446, in execute_from_command_line
> utility.execute()
> File "C:\Django2\venv\Lib\site-packages\django\core\management\__init__.py", line 440, in execute
> self.fetch_command(subcommand).run_from_argv(self.argv)
> File "C:\Django2\venv\Lib\site-packages\django\core\management\base.py", line 415, in run_from_argv
> connections.close_all()
> File "C:\Django2\venv\Lib\site-packages\django\utils\connection.py", line 84, in close_all
> for conn in self.all(initialized_only=True):
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "C:\Django2\venv\Lib\site-packages\django\utils\connection.py", line 76, in all
> return [
> ^
> File "C:\Django2\venv\Lib\site-packages\django\utils\connection.py", line 73, in __iter__
> return iter(self.settings)
> ^^^^^^^^^^^^^
> File "C:\Django2\venv\Lib\site-packages\django\utils\functional.py", line 57, in __get__
> res = instance.__dict__[self.name] = self.func(instance)
> ^^^^^^^^^^^^^^^^^^^
> File "C:\Django2\venv\Lib\site-packages\django\utils\connection.py", line 45, in settings
> self._settings = self.configure_settings(self._settings)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "C:\Django2\venv\Lib\site-packages\django\db\utils.py", line 148, in configure_settings
> databases = super().configure_settings(databases)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "C:\Django2\venv\Lib\site-packages\django\utils\connection.py", line 50, in configure_settings
> settings = getattr(django_settings, self.settings_name)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "C:\Django2\venv\Lib\site-packages\django\conf\__init__.py", line 92, in __getattr__
> self._setup(name)
> File "C:\Django2\venv\Lib\site-packages\django\conf\__init__.py", line 79, in _setup
> self._wrapped = Settings(settings_module)
> ^^^^^^^^^^^^^^^^^^^^^^^^^
> File "C:\Django2\venv\Lib\site-packages\django\conf\__init__.py", line 190, in __init__
> mod = importlib.import_module(self.SETTINGS_MODULE)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "C:\Users\suyar\AppData\Local\Programs\Python\Python311\Lib\importlib\__init__.py", line 126, in import_module
> return _bootstrap._gcd_import(name[level:], package, level)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
> File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
> File "<frozen importlib._bootstrap>", line 1128, in _find_and_load_unlocked
> File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
> File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
> File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
> File "<frozen importlib._bootstrap>", line 1142, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'settings'
本以为在新项目中错误会消失,结果还是出现了。我在笔记本电脑上重复了相同的步骤,一切正常。现在我觉得我的电脑“坏了”。
检查包含设置模块的目录是否在项目的 manage.py 文件中正确配置。 manage.py 文件是 Django 项目的入口点,必须正确配置才能正确启动项目。
首先检查python和django的版本是否一致。 米 Maybe,有可能是django安装的位置和python引导包不一样