针对特定的Django模块运行Python Debugger“Standalone”?

时间:2017-08-22 20:50:17

标签: python django

是否可以针对Django应用程序中的特定模块运行Python调试器,而无需运行Django Web服务器,然后在视图或模型中执行pdb?我在一个models.py文件中有一个MailManager类,它包含一些发送电子邮件的方法。我想调试其中一个方法,而不必运行Django服务器,然后GET / POST调用该方法的视图。我尝试做'pdb myapp / models.py',它似乎在我的模型文件中执行第一个命令(恰好是'import logging'),但如果我做'dir(MailManager)',pdb告诉我它是没有定义。是否可以按照我描述的方式调试此模型类中的方法“独立”?

1 个答案:

答案 0 :(得分:0)

您可以使用python -m pdb module.py调试任何Python模块。它将显示第一行,然后您可以按n逐行执行该程序。

要执行Python语句,请使用ppp命令,如下所示:p dir(MailManager)。必须定义MailManager,这意味着必须执行它所定义的行。

您应该查看PDB的文档以获取更多提示。 https://docs.python.org/3/library/pdb.html

你可能想看看Django的测试工具,  其中包括为您伪造服务器的测试客户端。  https://docs.djangoproject.com/en/1.8/topics/testing/tools/