Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PyCharm中调试Django命令_Django_Pycharm - Fatal编程技术网

如何在PyCharm中调试Django命令

如何在PyCharm中调试Django命令,django,pycharm,Django,Pycharm,我知道如何使用PyCharm运行命令(工具->运行manage.py任务),但我也想调试它们,包括我的命令和第三方应用程序的命令。安装ipdb(pip安装ipdb)后,将这些行放到调试点: import ipdb ipdb.set_trace() 通过在运行/调试配置菜单上创建自定义Django服务器条目,您可以在PyCharm中调试自定义Django admin/management命令: 单击编辑配置… 单击加号并选择Django服务器 请随意填写名称,清除主机和端口字段

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

安装ipdb(pip安装ipdb)后,将这些行放到调试点:

    import ipdb
    ipdb.set_trace()

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

  • 单击编辑配置…
  • 单击加号并选择
    Django服务器
  • 请随意填写
    名称
    ,清除
    主机
    端口
    字段, 选中
    自定义运行命令
    ,然后在 复选框的右侧
  • 将任何额外的命令行参数输入单独的字段
    附加选项
    ,而不是附加在run命令中
  • 单击“确定”

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

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

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

python manage.py execute_algorithm -f input_data.json
配置Django命令的步骤: 步骤:从Django工具栏转到:

运行>编辑配置

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

填写以下详情:

名称:您希望为该配置指定的任何合适名称,例如执行算法命令

主机清除该字段

端口:默认为8000,清除它

自定义运行命令:首先选中此框。 在那里提供您的命令名。您可以从
应用程序/模块/管理/命令/执行算法
中获得。 e、 g值:执行算法

附加选项:在命令名之后有什么。值为:-f input_data.json


强调像我这样显然不能正确阅读的人:必须清除主机和端口字段,否则自定义命令将无法工作!抱歉,但我应该在“自定义运行命令”中输入什么?我将我的命令称为“简单图表”,但当我尝试调试时,我得到了“未知命令”。我在views.py中有一个名为simple_chart的方法,我在其中放置了一个断点。我只想让调试器停在那里,这样我就可以在本地环境中探索变量。对于那些苦苦挣扎的人,我没有Django服务器选项:“自定义运行命令”框应该只包含您的命令。例如,如果您正在从控制台运行
py manage.py cmd
,此框将只包含
cmd
@Dejell:您需要专业版本的Pycharm来支持DJANGO。()如果您试图调试manage.py命令(app/management/commands/folder中的命令),您可以使用@Kevin的答案,但在“脚本”中放入manage.py,并在“脚本参数”中运行您想要运行的命令。这就是为什么它对我起作用的原因(pycharm 2016)。将manage.py放入脚本中,django管理命令放入脚本参数中(连同任何django管理命令标志),并更改工作目录。