Django运行runserver报找不到manage.py致站点无法访问如何解决
报错核心原因
终端抛出No such file or directory提示,说明你执行启动命令时,当前工作目录下找不到manage.py文件,Django开发服务压根没启动成功,此时访问页面自然会提示站点无法访问。
排查解决步骤
- 先核对文件实际路径
打开你终端当前提示的路径C:\Users\****\Desktop\pydjango\django-project\,手动查看文件夹内是否存在manage.py。绝大多数人遇到这个问题都是项目目录嵌套导致的:执行django-admin startproject 项目名创建项目时,命令会在当前目录下生成一个和项目同名的子文件夹,manage.py就存放在这层子文件夹里,而不是你执行创建命令时所在的外层目录。
举个实际场景:如果你在django-project文件夹下执行django-admin startproject myblog,那么manage.py的实际路径是C:\Users\****\Desktop\pydjango\django-project\myblog\manage.py,你需要先在终端执行cd myblog切换到这层目录,再运行启动命令。 - 项目创建失败的场景处理
如果翻遍整个项目目录都找不到manage.py,说明之前的Django项目创建流程没走通。先确认虚拟环境已经正常激活(终端提示符最前面会出现带虚拟环境名称的括号,比如(venv)),然后在你打算存放项目代码的目录下,执行带英文句号的创建命令:django-admin startproject 你的自定义项目名 .
命令末尾的.代表直接在当前目录生成项目核心文件,不会额外嵌套一层同名文件夹,注意这个英文句号不能漏,执行完就能在当前目录直接看到manage.py。 - 修正Python解释器指向
你报错信息里的Python路径是C:\Users\****\AppData\Local\Microsoft\WindowsApps\python.exe,这是Windows系统自带的应用商店跳转别名,不是你虚拟环境里安装了Django依赖的Python解释器,就算路径对了也可能出现模块找不到的报错。
激活虚拟环境后可以先执行where python校验,确认返回的第一个Python路径是你虚拟环境目录下的Scripts\python.exe,再执行后续启动命令。要是嫌切路径麻烦,也可以直接写manage.py的完整绝对路径启动,比如:python C:\Users\****\Desktop\pydjango\django-project\myblog\manage.py runserver - 确认服务启动成功后再访问页面
只有终端输出Starting development server at http://127.0.0.1:8000/这类提示时,才代表Django服务正常运行,此时再打开浏览器访问对应地址就能看到默认的Django欢迎页,服务没启动的情况下访问必然报站点无法访问。
内容的提问来源于stack exchange,提问作者Betelgeuse
相关产品推荐
相关产品推荐

