如何在PyCharm中调试Django命令


84

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


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

Answers:


170

您可以通过在“运行/调试配置”菜单上创建自定义Django服务器条目,在PyCharm中调试自定义Django admin / management命令:

  • 点击Edit Configurations...
  • 单击加号,然后选择Django server
  • 根据需要填写Name,清除HostPort字段,选中Custom run command并在复选框右侧输入命令名称。
  • 在单独的字段中输入任何其他命令行参数Additional options,而不是在run命令中附加。
  • 单击确定。

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


20
对于像我这样看似无法正确阅读的人来说,重点是:必须清除“主机”和“端口”字段,否则自定义命令将不起作用!
Henrik Heimbuerger 2014年

抱歉,我应该在“自定义运行命令”中输入什么?我称我为“ simple_chart”,但尝试调试时却收到“未知命令”。我在views.py中有一个名为simple_chart的方法,已在其中放置了一个断点。我想要的只是让调试器停在那里,以便我可以在本地环境中浏览变量。
Frikster

1
我没有Django的服务器选项,在加
Dejell

10
对于那些苦苦挣扎的人:“自定义运行命令”框应仅包含您的命令。例如,如果您py manage.py cmd从控制台运行,则此框将仅包含cmd
texnic

1
@Dejell:您需要Pycharm的专业版本才能获得DJANGO支持。(jetbrains.com/pycharm/features/editions_comparison_matrix.html
PeterN

8

由于清除Host和Port根本不会使命令运行(PyCharm 5),因此我找到的解决方案是使用Python运行配置而不是Django服务器。填写Scriptmanage.py脚本,中的其他参数Script Parameters,然后调整环境,例如Working directory


2
这就是它为我工作的原因(pycharm 2016)。将manage.py放入脚本中,将django管理命令放入脚本参数中(连同所有django mangement命令标记一起)并更改工作目录。
Yunti

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.