ChatGPT解决这个技术问题 Extra ChatGPT

如何在 PyCharm 中调试 Django 命令

我知道如何使用 PyCharm 运行命令(工具 -> 运行 manage.py 任务),但我也想调试它们,包括我的命令和第三方应用程序的命令。

如果您正在尝试调试 manage.py 命令(位于 app/management/commands/ 文件夹中的命令),您可以使用@Kevin 的答案,但将 manage.py 放入“脚本”中,以及您想要运行的命令“脚本参数”。

H
Henrik Heimbuerger

您可以通过在运行/调试配置菜单上创建自定义 Django 服务器条目来调试 PyCharm 中的自定义 Django 管理/管理命令:

单击编辑配置...。

单击加号并选择 Django 服务器。

随意填写名称,清除主机和端口字段,选中自定义运行命令并在复选框右侧输入命令的名称。

在单独的字段 Additional options 中输入任何额外的命令行参数,而不是附加在运行命令中。

单击确定。

现在设置一个断点,从 Run/Debug Configuration 菜单中选择您的新配置,然后单击 Debug 按钮。瞧!


对像我这样显然无法正确阅读的人强调:必须清除主机和端口字段,否则自定义命令将不起作用!
抱歉,我应该在“自定义运行命令”中添加什么内容?我将我的称为“simple_chart”,但当我尝试调试时得到“未知命令”。我在 views.py 中有一个名为 simple_chart 的方法,我在其中放置了一个断点。我想要的只是让调试器停在那里,以便我可以探索本地环境中的变量。
我没有加号中的 Django 服务器选项
对于那些正在苦苦挣扎的人:“自定义运行命令”框应该只包含您的命令。例如,如果您从控制台运行 py manage.py cmd,则此框将仅包含 cmd
@Dejell:您需要专业版的 Pycharm 来支持 DJANGO。 (jetbrains.com/pycharm/features/editions_comparison_matrix.html)
F
Fish Monitor

由于清除主机和端口根本不会使命令运行(PyCharm 5),我找到的解决方案是使用 Python 运行配置而不是 Django 服务器。用您的 manage.py 脚本、Script Parameters 中的其他参数填充 Script,并调整您的环境,例如 Working directory


这就是它为我工作的原因,(pycharm 2016)。将 manage.py 放入脚本中,将您的 django 管理命令放入脚本参数中(连同任何 django 管理命令标志)并更改工作目录。
S
Sandio

我正在使用以下自定义 Django 命令进行解释:

python manage.py execute_algorithm -f input_data.json

配置 Django 命令的步骤: 步骤:从 Django 工具栏转到:

运行 > 编辑配置

单击左上角的“+”图标,创建新命令 > 从下拉列表中选择“Django 服务器”。

填写以下详细信息:

名称:您想为此配置指定的任何合适的名称,例如 execute_algorithm_command

主持人:清场

端口:默认为8000,清除即可。

自定义运行命令:选中此框。在那里提供您的命令名称。你可以从apps/module/management/command/execute_algorithm 得到它。例如值:execute_algorithm

附加选项:在您命令名称之后,无论那里是什么。值为:-f input_data.json


这与 7 年前发布的公认答案有何不同?
@miken32 回顾第一个有一个人需要的一切,但由于某种原因,我没有得到它。这个答案与第一个答案相同,但使用了一个例子。顺便说一句,我们中的一些人对事物的理解不同。