我刚开始学习Django开发,之前从事过桌面和移动应用的开发,使用的是Xcode和相关IDE。
现在我需要使用Django,想知道是否有一种高效的方法可以使用Visual Studio Code(或Atom)进行调试。
任何与Django IDE相关的帮助也将非常有用。
我刚开始学习Django开发,之前从事过桌面和移动应用的开发,使用的是Xcode和相关IDE。
现在我需要使用Django,想知道是否有一种高效的方法可以使用Visual Studio Code(或Atom)进行调试。
任何与Django IDE相关的帮助也将非常有用。
对于VSCode(完全公开,我是VSCode开发人员之一),请尝试安装Python扩展程序开始。
此文档涵盖了如何调试Django。应该会有一个包含的调试配置或者您可以将自己的配置添加到launch.json
文件中:
{
"name": "Django",
"type": "python",
"request": "launch",
"stopOnEntry": false,
"pythonPath": "${config.python.pythonPath}",
"program": "${workspaceRoot}/manage.py",
"args": [
"runserver",
"--no-color",
"--noreload"
],
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput",
"DjangoDebugging"
]
}
Python扩展还提供许多其他功能,您可能会发现这些功能很有用。
VSCode有一个官方教程来讲解这个:
https://code.visualstudio.com/docs/python/tutorial-django
需要进行几个步骤,由于步骤比较多,我不想手动写出全部步骤,但是我会尝试总结需要做什么:
下面的文字基本上是以上教程的部分复制,我并不是在声称我自己想出了这些内容。
1. 确认先决条件 (使用VS Code Python扩展程序,在本地机器上安装Python) 链接至文档
2. 使用Python虚拟环境 链接至文档
除了使用Python虚拟环境外,您还需要在VS Code中选择此虚拟环境内的Python可执行文件作为解释器。可以按照以下方式完成:
在VS Code中,打开命令面板(View > Command Palette或(Ctrl+Shift+P))。然后选择Python: Select Interpreter
然后,您可以选择虚拟环境内的Python可执行文件,其路径可以通过其来识别。
3. 创建调试器启动配置文件
在VS Code窗口左上角
4. 现在可以开始调试
{
"name": "Django",
"type": "pythonExperimental",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"args": [
"runserver",
"--noreload",
"--nothreading"
],
"django": true
},
标准配置会导致未验证的断点
问题。
"type": "python"
不同,这个选项会给我一个错误提示:未识别的调试类型。请确保您已安装相应的调试扩展并启用它。
请问是否需要安装扩展程序?如果需要,是哪一个?我已经安装了默认的 Python 和 Django 开发扩展程序。 - alelom{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}\\manage.py",
"args": [
"runserver"
],
"django": true
},
{
"name": "Django: makemigrations",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}\\manage.py",
"args": [
"makemigrations"
],
"django": true
},
{
"name": "Django: migrate",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}\\manage.py",
"args": [
"migrate"
],
"django": true
},
]
}
在我禁用自动重新加载(--noreload
作为参数是至关重要的,不太确定它为什么会导致调试问题)之前,没有任何方法对我有效。
Debug Console
无法打印Django日志。我想到这是因为VSCode不支持彩色日志,所以我认为在这里也需要--no-color
参数。 - realhu"type":"python"
;完全透明地说,我已经安装并运行了MagicPython
、Python
、Python Extension Pack
和Python for VSCode
。 - Michael Ward--noreload
参数(在args
中指定)。 - sqe