首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pydev Django项目编译

Pydev Django项目编译
EN

Stack Overflow用户
提问于 2014-02-04 02:17:13
回答 1查看 213关注 0票数 0

我安装了pydev和eclipse来编译django项目。一切看起来都很好,但有一件事让我发疯了。当我更改代码中的某些内容时,我单击以保存它,并希望看到更改的效果。但是,除非我终止程序并按照下面所示重新运行,否则我看不到更改的效果。太痛苦了..。

我以前用过Pycharm,但过期了。在Pycharm中,当程序运行一次时,我不需要一次又一次地运行它。通过单击“保存”按钮,我可以很容易地看到我的更改对代码的影响。在pydev和eclipse中能看到同样的东西吗?你们也看到这个问题了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-05 09:37:47

要用自动重新加载特性调试Django,必须使用远程调试器,并且必须对代码应用修补程序(就在if _name_ == "_main_":在manage.py模块中):

代码语言:javascript
复制
import pydevd
pydevd.patch_django_autoreload(
  patch_remote_debugger=True, #Connect to the remote debugger.
  patch_show_console=True
)

因此,启动远程调试器并定期运行应该可以使Eclipse中放置的所有常规断点在Django进程中与远程调试器一起工作(必须删除自动添加到启动配置中的-noreload)。

我计划对此进行改进,以便调试器能够自动将跟踪添加到生成的进程(可能是下一个版本),但在PyDev 3.3.3上,这仍然需要执行此手动修补程序并使用远程调试器。

以上内容与调试运行有关。现在开始常规的跑步..。

当您执行run as > pydev: django时,它应该创建一个run配置(您可以在run > run配置中访问它)。然后,打开运行配置>参数并删除'--noreload‘(只留下'runserver’参数)。

然后,您可以简单地用Ctrl+F11重新运行它(如果您已经将它设置为启动先前启动的应用程序,如run.html中所示) -- (或者您也可以使用: Alt + R,T,1)运行它。

唯一的问题是,如果您在Eclipse中杀死进程,它可能会留下僵尸进程,因此,您可以使用上面所述的pydevd.patch_django_autoreload(patch_show_console=True)在每次产生一个新进程时打开一个控制台(您可以在这里执行pydevd\<- ctrl空间来向pydevd添加一个导入)。

请注意,这应该有效。如果它不起作用,请确保您没有从上一次会话开始的僵尸进程(在windows中您可以这样做: taskkill /F /IM python.exe,以确保所有的Python进程都被杀死)。

另一个注意事项(当您实际上没有自动重新加载):Ctrl+Shift+F9将杀死当前正在运行的进程并重新运行它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21541800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档