iPython - 重新加载Django后“破坏”shell /终端

时间:2010-07-15 19:13:31

标签: django ipython

我将iPython shell嵌入Django脚本(带有开发服务器,例如localhost的runserver),如下所示:

...
from IPython.Shell import IPShellEmbed
ipshell = IPShellEmbed()
ipshell()
...

它给了我在所需位置的交互式shell。现在,如果修改源代码,Django会自动重新加载,可能没有正确退出iPython shell,并“中断”我的终端模拟器(xterm,konsole) - 文本变得不可见等等(如果在Django中运行的iPython终止于Ctrl,效果相同+ d)。

任何可能导致此问题的建议? (我可能以错误的方式使用iPython,但谁知道)。

2 个答案:

答案 0 :(得分:4)

我无法回答为什么会出错的问题,但我可以告诉你如何从中恢复:退出调试服务器并发出reset命令。

防止这种情况发生的另一种方法是使用--reload命令上的runserver开关。这意味着Django在更改后不会重新加载,但它也不会破坏您的调试器。

答案 1 :(得分:1)

此问题已修复:http://code.djangoproject.com/ticket/15565

感谢Django。