VS Code中无法运行Django站点,CMD可正常运行该如何解决?
问题
我正在用Visual Studio Code学习Django,执行python manage.py runserver启动站点时,VS Code里没法成功运行,但在命令提示符(Command Prompt)里能正常启动。相关运行日志如下:
[18/Aug/2023 10:12:58] "GET /phones/ HTTP/1.1" 200 46 F:\tryInWeb\mysite> F:\tryInWeb\mysite> F:\tryInWeb\mysite> F:\tryInWeb\mysite> F:\tryInWeb\mysite>python manage.py runserver Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. August 18, 2023 - 10:15:22 Django version 4.2.1, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. [18/Aug/2023 10:15:25] "GET /phones/categories HTTP/1.1" 301 0 [18/Aug/2023 10:15:25] "GET /phones/categories/ HTTP/1.1" 200 50 F:\tryInWeb\mysite>
相关截图:
解决步骤
- 匹配Python解释器:点击VS Code左下角的Python版本号,选择和命令提示符中一致的Python解释器(尤其是Django所在的虚拟环境),确保VS Code用的是正确的环境。
- 配置终端类型:
- 按
Ctrl+,打开设置,搜索terminal.integrated.defaultProfile.windows,设置为Command Prompt,避免PowerShell的环境变量差异导致问题。 - 开启虚拟环境自动激活:在设置中搜索
python.terminal.activateEnvironment,勾选该选项,让VS Code终端启动时自动激活项目的虚拟环境。
- 按
- 手动激活虚拟环境(若自动失效):在VS Code终端中执行激活命令,比如虚拟环境名为
venv,Windows下运行:venv\Scripts\activate,激活后再执行python manage.py runserver。 - 确认工作目录:保证VS Code当前工作目录是包含
manage.py的项目根目录。如果终端路径不对,在左侧资源管理器中右键点击项目根文件夹,选择「在终端中打开」。 - 先完成数据库迁移:日志提示有18个未应用的迁移,先在VS Code终端运行
python manage.py migrate完成迁移,再启动服务器。
内容的提问来源于stack exchange,提问作者Nikolay
相关产品推荐
相关产品推荐

