Eclipse / PyDev + Django调试

时间:2009-05-23 12:45:52

标签: django debugging pydev

Eclipse / PyDev,Python 2.6,Django 1.1

所有都在运行模式下工作。如果我把调试点放在manage.py文件中,断点就可以了。但是当我把它放在任何动作方法中时,它都没有任何结果:(

2 个答案:

答案 0 :(得分:10)

通常问题是你在django中运行自动重载,在这种情况下,不同的进程实际上正在为页面提供数据,因此,你需要使用no reload选项运行它或使用远程调试器。 / p>

(要配置PyDev以使用Django,请参阅:http://pydev.org/manual_adv_django.html

注意,如果你想在没有自动重载功能的情况下执行(PyDev应该在创建新的Django运行时自动执行),你可以直接执行所有操作(即:调试器和启动不需要任何特殊调整)。


注意:最近情况有所改善,所以,虽然上面的答案仍然有效,但对于那些希望使用自动重新加载进行开发的人来说有一些改进:


在自动重新加载时回答:

如果您想在开发时自动重新加载,请使用以下提示:PyDev and Django: how to restart dev server?(以解决当主进程被杀死时Django将使子进程保持活动状态的问题)

在以下位置查看与远程调试器相关的会话:http://pydev.org/manual_adv_remote_debugger.html,了解如何在使用自动重载功能时将调试器连接到PyDev(主要是,您需要启动远程调试器,但是定期添加断点,如果你在主会话之前调用pydevd.patch_django_autoreload(),那么PyDev会停在那些断点上,即:before if __name__ == "__main__":, add the following: import pydevd;pydevd.patch_django_autoreload())。

答案 1 :(得分:0)

如果在尝试导入pydevd eclipse时也无法找到pydevd的依赖关系。确保从插件文件夹中添加它:

  • 查找您的eclipse / plugins / org.python.pydev_ x.x.x / pysrc,其中 x.x.x 是您的eclipse pydev插件版本。在eclipse / plugins文件夹中,你会发现很多以类似名称开头的文件夹中只有一个会有一个pysrc子文件夹(正确的版本号)。
  • 将eclipse / plugins / org.python.pydev_ x.x.x / pysrc添加到项目的外部库中:
    • 右键单击项目资源管理器。
    • 转到属性/ PyDev - PYTHONPATH /外部库/并单击添加源文件夹
    • 在提供的浏览器上找到您的eclipse / plugins / org.python.pydev_ x.x.x / pysrc文件夹。