questions_02:【KeyError: 'mobile_phone'[27/Apr/2023 21:42:21] "POST /register/ HTTP/1.1" 500 86526】解决方案

发布时间 2023-04-27 22:14:04作者: Cool-Bo

BUG

在成功注册之后,如果填写相同的信息,会报出一个
【KeyError: 'mobile_phone'[27/Apr/2023 21:42:21] "POST /register/ HTTP/1.1" 500 86526】
的bug,原因是我们的cleaned_data中的数据是按照fields中的顺序去校验成功之后添加的,所以当出现相同的数据时候cleaned_data前面几个字段是没有返回值的,并且也不会报错,从而在进行验证码校验的时候,通过【mobile_phone = self.cleaned_data["mobile_phone"]】去查找值得时候,是没有这个字段的,所以会报错。解决方案如下:
image
通过【mobile_phone = self.cleaned_data.get('mobile_phone')】去获取值的时候,即使没有这个字段但是并不会在程序报错,并且通过下面的判断,帮我们把错误信息返回到页面上进行提示:
image