所以,我从Python年开始学习编码,后来又学习了Django年.第一次很难找到我的回溯,真正找出我做错了什么,语法错误在哪里.一段时间过go 了,我想我在调试Django代码时有了一个 routine .由于这是在我早期的编码经验中完成的,我坐下来想知道我是如何做到这一点的,是否无效,是否可以更快地完成.我通常会设法找到并纠正代码中的错误,但我想知道我是否应该加快速度?

我通常只使用Django启用时提供的调试信息.当事情按我所想的那样结束时,我会用一个语法错误 destruct 代码流,并查看流中该点的变量,找出代码在哪里做了我不想做的事情.

但这能得到改善吗?有没有好的工具或更好的方法来调试Django代码?

推荐答案

有很多方法可以做到这一点,但最简单的方法是

imp或t pdb; pdb.set_trace()

breakpoint()  #from Python3.7

如果您试图在浏览器中加载该页面,浏览器将挂起,并且您将得到一个提示,提示您对实际执行的代码进行调试.

不过,还有其他 Select (我不推荐):

* return HttpResponse({variable to inspect})

* print {variable to inspect}

* raise Exception({variable to inspect})

But the Python Debugger (pdb) is highly recommended f或 all types of Python code. If you are already into pdb, you'd also want to have a look at IPDB that uses ipython f或 debugging.

Some m或e useful extension to pdb are

pdb++, suggested by Antash.

pudb, suggested by PatDuJour.

Using the Python debugger in Django, suggested by Seafangs.

Python相关问答推荐

Polars Select 多个元素产品

Numpy索引argsorted使用integer数组,同时保留排序顺序

优化在numpy数组中非零值周围创建缓冲区的函数的性能

Python中使用时区感知日期时间对象进行时间算术的Incredit

将numpy数组存储在原始二进制文件中

Python上的Instagram API:缺少client_id参数"

如何在Python中将returns.context. DeliverresContext与Deliverc函数一起使用?

可变参数数量的重载类型(args或kwargs)

2D空间中的反旋算法

Pandas - groupby字符串字段并按时间范围 Select

用合并列替换现有列并重命名

当从Docker的--env-file参数读取Python中的环境变量时,每个\n都会添加一个\'.如何没有额外的?

从groupby执行计算后创建新的子框架

运输问题分支定界法&

如何使Matplotlib标题以图形为中心,而图例框则以图形为中心

Python中的变量每次增加超过1

在Admin中显示从ManyToMany通过模型的筛选结果

导入错误:无法导入名称';操作';

Gekko中基于时间的间隔约束

我对这个简单的异步者的例子有什么错误的理解吗?