我正在从命令行调试Django。我正在使用django_extensions
,我安装了IPython,理想情况下,我希望能够尽可能多地在shell中提取信息。我如何最有效地完成这项任务?
答案 0 :(得分:2)
如果您安装了django_extensions,请使用
python manage.py shell_plus
自动预加载所有模型类。
答案 1 :(得分:2)
正如Geo manage.py shell
提到的那样好,但是因为你已经安装了django_extensions
,所以Carl对manage.py shell_plus
的建议甚至更好......节省了大量的打字。
但是,作为第三个不太通用的建议,您可能还想查看django-viewtools。我个人倾向于使用shell_plus,但这可能很有用。
答案 2 :(得分:1)
答案 3 :(得分:1)
我最喜欢的解决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()
,并且您将在与runserver_plus相同的窗口中获得带有调试器的ipython shell。
查看http://docs.python.org/library/pdb.html#debugger-commands以获取可在调试器中使用的命令列表。