You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django执行manage.py check报错找不到settings模块,疑wsgi.py未执行

问题解答

为什么wsgi.py没被调用?

python manage.py check这类Django管理命令不会加载wsgi.py或asgi.py文件。这两个文件是给生产环境的WSGI/ASGI服务器(如Gunicorn、Uvicorn)使用的,用于启动Django应用服务。本地通过manage.py执行命令时,会直接从manage.py内部读取配置并初始化环境,完全不会涉及wsgi.py,所以你加的打印语句不会输出,修改wsgi.py也对这个问题没有帮助。

解决settings模块找不到的方案

1. 修正manage.py中的配置(关键)

打开项目根目录下的manage.py,找到以下代码段:

os.environ.setdefault('DJANGO_SETTINGS_MODULE', '这里的内容')

确保括号内的参数是'mysite.settings'——这是Python模块路径(mysite是子文件夹,settings是该文件夹下的settings.py文件),而不是你之前设置的绝对文件路径。DJANGO_SETTINGS_MODULE需要的是模块路径,不是文件系统路径,这是你出错的核心原因。

2. 确认PYTHONPATH设置正确

你在activate.ps1中设置PYTHONPATH时,应该指向项目根目录C:\Users\viter\DoseV3Master,而不是其他路径。正确的PowerShell命令是:

$env:PYTHONPATH = "C:\Users\viter\DoseV3Master"

设置后激活虚拟环境,执行echo $env:PYTHONPATH验证路径是否正确。这一步是让Python能找到mysite这个子模块。

3. 不要用绝对路径设置DJANGO_SETTINGS_MODULE

无论是环境变量还是命令行参数,都应该使用模块路径mysite.settings,而非文件的绝对路径。如果需要临时指定,可以用以下命令:

python manage.py check --settings=mysite.settings

4. 检查项目结构细节

  • 确保mysite文件夹下存在空的__init__.py文件(Django 3.2+虽可不加,但添加后能避免模块识别问题)。
  • 执行命令时,必须在项目根目录(C:\Users\viter\DoseV3Master)下运行,不要进入mysite子文件夹执行。

5. 验证虚拟环境是否激活

确保你是在激活了venv虚拟环境的状态下执行命令,避免使用系统全局Python导致路径混乱。

内容的提问来源于stack exchange,提问作者Ali Vleotsky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 08:02:48