【问题标题】:How to debug class in django models.py using PyCharm?如何使用 PyCharm 在 django models.py 中调试类?
【发布时间】:2016-12-14 10:24:00
【问题描述】:

我正在使用最新的 PyCharm 2016.2。我在 Django 网站上使用多个应用程序工作,我想在 models.py 中调试一行:

models.py

class LocationPolygon(models.Model):
    title = models.CharField(max_length=30)
    mpoly = models.MultiPolygonField(srid=4326, null=False, blank=False)
    objects = models.GeoManager()

    def get_tooltip_title(self):
        <some bugy code here>
        return ""

    def __unicode__(self):  # __unicode__ on Python 2
        return self.title + " | " + self.get_tooltip_title()

我想在函数“get_tooltip_title”中调试“这里的一些错误代码”行,但是当我按下调试按钮时没有任何反应,并且调试控制台中有退出代码 1...

【问题讨论】:

  • 你在哪里设置断点?很可能代码在到达 bp 之前就已经损坏了
  • 请看我的编辑。不,我认为调试器根本没有到达断点,它只是显示“退出代码 1” - 成功......
  • 但我需要调试 models.py 部分,而不是像视图/表单这样的结尾部分......

标签: django pycharm


【解决方案1】:

以下步骤帮助我开始调试:

  1. 更改调试配置:

到:

就是这样。

【讨论】:

    【解决方案2】:

    这只是意味着错误发生在断点之前。堆栈跟踪是什么?

    【讨论】:

      【解决方案3】:

      我认为模型将在您的视图执行之前加载,很可能它会在项目初始化时检查模型。也就是说,您始终可以在 pycharms 中任何您喜欢的地方使用断点。

      如果这不起作用,您可以使用pbd 手动中断和跟踪执行。 Herehere 是关于如何使用 pdb 的好文章。

      【讨论】:

        猜你喜欢
        • 2013-06-13
        • 1970-01-01
        • 2014-02-15
        • 1970-01-01
        • 2021-07-30
        • 2016-06-07
        • 1970-01-01
        • 2015-02-14
        • 1970-01-01
        相关资源
        最近更新 更多