4

Eclipse/PyDev、Python 2.6、Django 1.1

一切都在运行模式下工作。如果我将调试点放在 manage.py 文件中,断点就会起作用。但是当我把它放在任何动作方法中时,它什么都不会产生:(

4

2 回答 2

10

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

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

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


注意:最近情况有所改善,因此,尽管上述答案仍然有效,但对于那些确实希望通过自动重新加载进行开发的人来说,还是有一些改进:


回答自动重新加载:

如果您想在开发时自动重新加载,请使用以下提示:PyDev 和 Django:如何重新启动开发服务器?(以克服当主进程被杀死时 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()

于 2010-01-06T23:48:00.603 回答
0

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

  • 查找您的 eclipse/plugins/org.python.pydev_ x.xx /pysrc,其中xxx是您的 eclipse pydev 插件版本。在 eclipse/plugins 文件夹中,您会发现许多以相似名称开头的文件夹,其中只有一个具有 pysrc 子文件夹(正确的版本号)。
  • 将 eclipse/plugins/org.python.pydev_ x.xx /pysrc 添加到项目的外部库中:
    • 右键单击您的项目资源管理器。
    • 转到 properties/PyDev - PYTHONPATH/External Libraries/ 并单击Add Source folder
    • 在提供的浏览器上找到您的 eclipse/plugins/org.python.pydev_ x.xx /pysrc 文件夹。
于 2013-08-14T17:10:28.553 回答