Django有像Chrome的JavaScript控制台那样的控制台工具吗?
Django有像Chrome的JavaScript控制台那样的控制台工具吗?
已关闭。这个问题需要更加聚焦。它目前不接受答案。
想要改善这个问题吗?通过编辑这篇文章,更新问题,确保其只关注一个问题。
所以,我开始学习Python,然后学习Django。一开始阅读代码的错误追踪信息并弄清楚我做错了什么以及语法错误的具体位置很困难。现在一段时间过去了,我想我已经养成了调试Django代码的一些习惯。由于这是我编写代码经验的早期,所以我坐下来想知道我是否是无效的调试代码方式以及是否可以更快地完成调试。我通常能找到并修正代码中的错误,但我想知道我是否应该更快地做到这一点?
通常我只使用启用时Django提供的调试信息。当事情最终不如我所料时,我会在语法错误处不断中断代码流程,并查看流程中的变量以确定代码在某个点上是否执行与我期望不同的操作。
但是,这种方式是否可以改进?是否有一些好的工具或更好的方法来调试您的Django代码?
我真的很喜欢Werkzeug的交互式调试器。它类似于Django的调试页面,但你可以在每个回溯的级别上获得交互式Shell。如果你使用django-extensions,你会得到一个runserver_plus
管理命令,它会启动开发服务器并在发生异常时给你Werkzeug的调试器。
当然,你只应该在本地运行它,因为它会给任何拥有浏览器的人在服务器上的上下文中执行任意Python代码的权利。
有很多种方法可以做到这一点,但最直接的方法是简单地使用Python调试器。只需将以下行添加到Django视图函数中:
import pdb; pdb.set_trace()
或
breakpoint() #from Python3.7
如果您尝试在浏览器中加载该页面,则浏览器将挂起并提示您在实际执行的代码上继续调试。
但是,还有其他选项(我不推荐它们):
* return HttpResponse({variable to inspect}) * print {variable to inspect} * raise Exception({variable to inspect})
但是,Python调试器(pdb)高度推荐用于所有类型的Python代码。如果您已经进入pdb,则还需要查看使用ipython进行调试的IPDB。
一些有用的扩展程序是