从命令行调试Django

从命令行调试Django,django,debugging,Django,Debugging,我正在从命令行调试Django。我正在使用django_扩展,我已经安装了,理想情况下,我希望能够在shell中提取尽可能多的信息。我如何才能最有效地完成这项任务?如何: python manage.py shell 更多信息如果已安装django_扩展,请使用 python manage.py shell_plus 自动预加载所有模型类。正如Geomanage.py shell所述,这很好,但既然您已经安装了django\u扩展,那么卡尔关于manage.py shell\u plus的建

我正在从命令行调试Django。我正在使用
django_扩展
,我已经安装了,理想情况下,我希望能够在shell中提取尽可能多的信息。我如何才能最有效地完成这项任务?

如何:

python manage.py shell

更多信息

如果已安装django_扩展,请使用

python manage.py shell_plus

自动预加载所有模型类。

正如Geo
manage.py shell
所述,这很好,但既然您已经安装了
django\u扩展
,那么卡尔关于
manage.py shell\u plus
的建议就更好了。。。节省大量的打字时间


但是,作为第三个不那么笼统的建议,您可能还想看看。我个人倾向于使用shell\u plus,但这可能很有用。

我最喜欢的调试django问题的方法是使用
/manage runserver\u plus
命令来调试django\u扩展。它使用了
Werkzeug
debuger,它在web浏览器中为您提供了一个pythonshell。如果您希望在代码中的任何地方都有一个shell,只需键入一些伪python,比如简单的
a
,当代码执行时,您将得到一个shell

另一个不错的工具是
ipdb
ipython调试器。它与pdb相同,但更好(并且使用ipython。使用它和runserver\u plus,您可以插入
import ipdb;ipdb.set\u trace()
,您将在运行Server\u plus的同一窗口中获得一个带有调试器的ipython shell。
查看可在调试器内部使用的命令列表。

Shell\u plus非常好。另外,请确保签出iPython,它在使用Shell时添加了许多有用的功能(例如以“漂亮”选项卡和可读方式打印字典,而不是以大量数据的方式打印字典)--谢谢viewtools链接…我很快就会查看它。最好的答案,特别是在您阅读我的问题之后。谢谢。是的,从文档中知道了。我可能会选择shell_plus,因为我已经在使用django扩展。