【问题标题】:How to debug Django commands in PyCharm如何在 PyCharm 中调试 Django 命令
【发布时间】:2013-06-13 01:41:15
【问题描述】:

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

【问题讨论】:

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

标签: django pycharm


【解决方案1】:

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

  • 点击Edit Configurations...。
  • 点击加号并选择Django server。
  • 随意填写Name,清除Host和Port字段, 检查Custom run command 并将您的命令名称输入到 复选框右侧。
  • 在单独的字段Additional options 中输入任何额外的命令行参数,而不是附加在运行命令中。
  • 点击确定。

现在设置一个断点,从“运行/调试配置”菜单中选择您的新配置,然后单击“调试”按钮。等等!

【讨论】:

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

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

【讨论】:

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

我正在使用以下自定义 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 年前发布的公认答案有何不同?
猜你喜欢
  • 2022-08-18
  • 2014-05-21
  • 2016-10-22
  • 2021-12-19
  • 2020-03-07
  • 2019-02-26
  • 2014-02-15
  • 2015-09-02
  • 2016-12-14
相关资源
最近更新 更多