Eclipse/PyDev、Python 2.6、Django 1.1
一切都在运行模式下工作。如果我将调试点放在 manage.py 文件中,断点就会起作用。但是当我将它放入任何操作方法中时,它不会导致任何结果:(
最佳答案
通常问题是您在 django 中使用自动重新加载运行,在这种情况下,实际上有一个不同的进程正在提供页面,因此,您需要使用不重新加载选项运行它或使用远程调试器。
(要配置 PyDev 以与 Django 一起使用,请参阅: http://pydev.org/manual_adv_django.html )
请注意,如果您想在没有自动重新加载功能的情况下执行(当您创建新的 Django 运行时,PyDev 应该自动执行此操作),您可以直接执行所有操作(即:调试器和启动不需要任何特殊调整)。
<小时/>注意:情况最近有所改善,因此,尽管上述答案仍然有效,但对于那些确实想要使用自动重新加载进行开发的人来说,还是有一些改进:
<小时/>打开自动重新加载应答:
如果您想在开发时启用自动重新加载,请使用以下提示:PyDev and Django: how to restart dev server? (克服主进程被杀死时 Django 将使子进程保持事件状态的问题)
并查看与远程调试器相关的 session :http://pydev.org/manual_adv_remote_debugger.html了解如何在使用自动重新加载功能时将调试器附加到 PyDev(主要是,您需要启动远程调试器,但会定期添加断点,并且 PyDev 将在您之前调用 pydevd.patch_django_autoreload() 的情况下停止主 session - 即:在 if __name__ == "__main__": 之前,添加以下内容: import pydevd;pydevd.patch_django_autoreload()
)。
关于django - Eclipse/PyDev + Django 调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/901472/