django调试工具
项目描述
dj.debug
为Django应用提供简单的调试工具,以辅助测试驱动开发。
安装
$ pip install dj.debug
开发安装
$ pip install -e git+git@github.com:translate/dj.debug#egg=dj.debug
$ pip install dj.debug[test]
初始化内置对象
这些工具可以直接导入,但更好的方式是使用内置的_trace功能。
要激活此功能,请在您的代码中调用以下内容 - 例如在测试设置中
>>> from dj.debug import trace_debug
>>> trace_debug()
完成此操作后,您将在环境中的任何地方都有可用的_trace对象。
>>> _trace
<dj.debug.builtin.Trace object at ...>
您可以指定内置对象的名称
>>> trace_debug("_t")
>>> _t
<dj.debug.builtin.Trace object at ...>
使用内置对象的优势在于,如果您意外地将它留在代码中,它不会被代码检查器识别。
用法 - pdb
_t对象提供了对pdb的快速访问
>>> _t.pdb.set_trace()
--Return--
> <stdin>(1)<module>()->None
(Pdb)
用法 - 跟踪调试
如果您想要调试的代码在您想要调试的点之前被多次执行,您可以使用_t对象的调试标志
>>> def commonly_hit_code(*args, **kwargs):
... if _t.debug: _t.pdb.set_trace()
>>> def some_other_code(*args, **kwargs):
... # we only want to debug after this point
... _t.debug = True
... something_which_triggers_commonly_hit_code()
用法 - SQL调试
这个工具对于在Django中查找性能不佳的代码非常有用。通过跟踪代码块中运行的SQL,您可以找到并修复触发过多查询、过于复杂、结果过大等查询集。您还可以使用Django的dbshell输出的结果来分析、改进并适当添加索引。
>>> with _t.debug_sql():
... trigger_some_orm_action()
dj.debug用法
dj.debug.debug_sql
…待补充…
项目详情
关闭
dj.debug-0.0.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0b7629bde97f1cce6077ac430537089f5a2552973004951cb3590e30fec9054a |
|
MD5 | 63597c56b1554da0f88d77aff2be079d |
|
BLAKE2b-256 | da9b60b1d15995e79fff65e888937cc42daf0e52537eddd5a64e9c44236576f5 |