代码报错还好说,源码报错才难搞!分享自己源码报错的解决过程!

226 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、前言

最近本都是开开心心的打开电脑写一些祖传BUG

在这里插入图片描述

但一个报错阻碍了我写BUG的进度!

这年代还有能阻碍我写BUG的报错??? 在这里插入图片描述

二、解决过程

一个新项目要做token认证,所以拷了原来的项目代码

没错,高级CV工程师就是我!!!

加入了一些token配置信息后,启动项目准备调试。

在这里插入图片描述 启动很成功没有任何报错。

然后启动前端项目开始一天的写BUG时间!

结果登录的时候就报错了!! 在这里插入图片描述

把之前项目的代码拷过来还会报错?

有点奇怪,但都是小场面!

在这里插入图片描述 开始调试

结果一看错误日志,有点慌了!

是restframework内部(第三方包)报出的错误!

如果是自己的代码报错,还可以根据哪行报错和错误信息去排查原因(一般自己代码报错都是秒改)

第三包内部报的错,如果没有明显的错误提示排查就要花费些时间! 在这里插入图片描述 稍微有点慌! 在这里插入图片描述 报错日志分析出来暂时没有提供什么有用的信息! 在这里插入图片描述

跳转到第三包源码内部,还是没有看出为啥报错! 在这里插入图片描述 经调试,再次确认并未走进我的方法 在这里插入图片描述 然后上百度大法,通过百度大致定位到问题

test = (1)
for i in test:
    print(i)

上述代码执行时会报不可迭代的错误

test=(1),test的类型并不是一个元组

而是直接把1赋值给了test,这个时候的test是等于1的

所以在迭代test的时候才会报不可迭代的错误! 在这里插入图片描述

要定义元组的话,应该这样定义:test = (1,)

这个时候test就是一个可迭代的对象了

联想到最开始更改了django 的配置文件,返回去查看

果然!! 少了一个逗号!

在这里插入图片描述 加上后,问题解决!!!

在这里插入图片描述

三、总结

错误本身很简单,只是开始源码报错让我有点没有解决思路!

还是经验太少了!

相信再干100年,向天再借500年!

遇到类似的问题,就能够快速的定位并解决了!!

小伙伴们点赞、收藏、评论是对我最大的支持!!