vscode调试django失败主因是解释器未选虚拟环境、launch.json未配"module":"django"及--noreload、settings.json缺managepypath和settingsmodule配置。

VSCode 调试 Django 项目时,90% 的断点不生效、ModuleNotFoundError、模板跳转失败,根本不是插件没装全,而是快捷键用错 + 配置没跟上。
Ctrl+Shift+P 选解释器,不是 Ctrl+P 打开文件
很多人输 Ctrl+P 想搜“Python: Select Interpreter”,结果打开的是文件搜索框,根本找不到解释器选项。必须用 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)调出命令面板,再输入关键词。
- 输 “Python: Select Interpreter” 后回车,只选带
venv或env字样的路径,比如./venv/bin/python(Linux/macOS)或.\venv\Scripts\python.exe(Windows) - 右下角状态栏必须显示这个路径,如果显示
/usr/bin/python3或C:\Python312\python.exe,说明选错了 - 打开任意
.py文件,悬停from django.conf import settings,没红线才表示 Django 已被识别
F5 启动调试前,必须确认 launch.json 用的是 module 而非 program
用 "program": "manage.py" 是最常见错误:VSCode 把它当普通脚本执行,runserver 参数被忽略,断点进不去视图函数,DJANGO_SETTINGS_MODULE 也不生效。
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
- 正确配置是
"module": "django",让 VSCode 执行python -m django,走 Django 自身的命令解析逻辑 -
"args": ["runserver", "--noreload", "8000"]中--noreload必须加,否则调试器只附着在父进程,子线程里断点无效 -
"django": true这一行不能少,否则模板上下文、{% url %}跳转、模型字段提示等功能全部失效
Ctrl+Click 跳转失效?先检查 settings.json 里的两个关键配置
点 models.py 里的字段进不去源码、{% url 'xxx' %} 点不了、settings.py 里 INSTALLED_APPS 列表点不开模块——不是插件问题,是 VSCode 根本没识别这是 Django 项目。
- 在项目根目录的
.vscode/settings.json中,必须显式写:{ "python.django.managePyPath": "./manage.py", "python.django.settingsModule": "myproject.settings" } - 其中
myproject.settings要替换成你实际的 settings 模块路径,比如mysite.settings或backend.settings.dev - 漏配任一项,VSCode 就不会加载 Django 特有支持,
Run Server按钮灰掉、模板语法无提示、URL 反查失败都是必然结果
Ctrl+Shift+D 启动调试后,别急着点浏览器——先看终端输出是否含 “Performing system checks…”
按下 F5 或点击 Ctrl+Shift+D → “Start Debugging” 后,如果终端只显示 Watching for file changes... 就停了,说明 Django 启动卡在初始化阶段,大概率是 DJANGO_SETTINGS_MODULE 路径错、数据库连接失败,或 INSTALLED_APPS 里有未安装的包。
- 终端第一行出现
Performing system checks...才代表 Django 正常启动,此时访问http://127.0.0.1:8000/才可能触发断点 - 如果卡在
Watching for file changes...,立刻看终端第二行是否有红色报错,比如django.core.exceptions.ImproperlyConfigured或ModuleNotFoundError - 这类错误不会弹窗提示,只会安静地卡住——这是新手最容易忽略的调试盲区










