从命令行调试Django
我正在从命令行调试Django。我正在使用django_extensions
,并且我安装了IPython,理想情况下,我希望能够尽可能多地提取shell中的信息。我将如何最有效地完成这项任务?从命令行调试Django
正如Geo manage.py shell
提到的那样好,但既然你已经安装了django_extensions
,那么Carl的建议manage.py shell_plus
甚至更好......节省了大量的打字工作。
但是,作为一个不太一般的第三个建议,你可能也想看看django-viewtools。我个人倾向于使用shell_plus,但这可能会有用。
如果您已经安装django_extensions,使用
python manage.py shell_plus
让所有的模型类的自动预加载。
Shell_plus很棒,另外一定要结帐iPython它在使用shell时添加了很多有用的功能(比如以'漂亮'标签和可读方式打印字典而不是数据锁) - http://ipython.scipy.org/moin/ – 2009-11-24 16:27:26
我最喜欢调试django问题的方法是使用./manage runserver_plus
命令到django_extensions
。它使用Werkzeug
debuger,它在Web浏览器中为您提供了一个python shell。如果你想在代码中的任何地方使用shell,只需输入一些伪造的python,就像简单的a
一样,当代码执行时你会得到一个shell。
另一个不错的工具是ipdb
ipython调试器。它与pdb相同,但更好(并且使用ipython。有了这个和runserver_plus,你可以插入import ipdb; ipdb.set_trace()
,并且你将在同一窗口中得到一个ipython shell,并且你有runserver_plus。 看看http://docs.python.org/library/pdb.html#debugger-commands您可以在调试器中使用的命令列表
感谢您使用viewtools链接...我会很快检查出来的,最好的答案,尤其是你阅读我的问题后,谢谢。 – chiggsy 2009-11-25 07:54:01