Rik*_*eek 3 python django debugging visual-studio-code
我正在尝试使用Visual Studio Code调试自定义管理命令。
为此,我阅读了有关使用Python和Django的官方VS Code教程,并在遵循这些教程的同时设法调试了代码。
VS Code Python教程 / VS Code Django教程
问题在于,对于Python脚本(非Django),调试器有效,因为在文件选项卡打开时我运行了特定文件(通过按f5键)。Django调试之所以有效,是因为VS Code知道何时浏览器请求导致我的Django应用达到我在VS Code中输入的断点。
但是自定义管理命令的运行方式有所不同。为此,我在控制台中键入以下内容:
python manage.py name_of_management_command
如何在VS Code中调试此代码?
Rik 的回答有点正确,但需要更改每个管理命令的启动配置。
要创建一个可以调试所有管理命令的条目,即使是您仍然必须编写的那些,请将以下配置添加到您的 launch.json 中:
{
"name": "Django MGMT Command",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"args": [
"${fileBasenameNoExtension}"
]
}
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为管理命令的名称是定义它的文件的名称,没有 .py 扩展名。或者${fileBasenameNoExtension}简称。
有关可以在启动配置中使用的其他变量,请参阅https://code.visualstudio.com/docs/editor/variables-reference。
在写这个问题时,我自己想出了一个解决方案。
在VS Code launch.json文件中(包含VS Code Django调试器的设置),默认情况下包含以下条目:
"args": ["runserver", "--noreload", "--nothreading"]
我将其更改为:
"args": ["name_of_management_command"]
然后启动调试器(按f5键),然后调试我的自定义管理命令
| 归档时间: |
|
| 查看次数: |
199 次 |
| 最近记录: |