【Django-报错处理】form.is_valid()方法报错:KeyError: ‘###‘

news/2024/12/23 6:51:02/

最初,报错的form表单验证部分如下:

class ChangePwdForm(forms.Form):password1 = forms.CharField(required=True, min_length=6)password2 = forms.CharField(required=True, min_length=6)def clean(self):pwd1 = self.cleaned_data['password1']pwd2 = self.cleaned_data['password2']if pwd2 != pwd1:raise forms.ValidationError("密码不一致")return self.cleaned_data

经过查阅资料后发现,如果password1字段不能满足定义的要求(最小六个字符长度)的话,就不会出现在cleaned_data中,因此clean方法在取值时发生错误。
根据上面的原理,我们只要先验证其是否在cleaned_data中,再判断其是否相等就可以了。具体修改如下:

class ChangePwdForm(forms.Form):password1 = forms.CharField(required=True, min_length=6)password2 = forms.CharField(required=True, min_length=6)def clean(self):if 'password1' in self.cleaned_data and 'password2' in self.cleaned_data and self.cleaned_data['password1'] != \self.cleaned_data['password2']:raise forms.ValidationError("密码不一致")return self.cleaned_data

http://www.ppmy.cn/news/754830.html

相关文章

世界时区对照表

时区代表城市标准时间夏令时时区ID(UTC04:30)喀布尔阿富汗标准时间阿富汗夏令时Afghanistan Standard Time(UTC-09:00)阿拉斯加阿拉斯加标准时间阿拉斯加夏令时Alaskan Standard Time(UTC-10:00)阿留申群岛阿留申群岛标准时间阿留申群岛夏令时Aleutian Standard Time(UTC07:00)…

2023第七届河南省高等学校信息安全对抗大赛-御网杯-ISCC2023线下赛-misc(详解-思路-脚本)

芜湖~ 是真累呀 原本一天的时间 硬打了一天半 还是那句话 不评价 各位道友心中自有公论 我misc手又发现一个小小的非预期 哎 没想到线下也有这种情况 欧克 以下是我自己的一些思路和解析 有什么问题或者建议随时都可以联系我 2023第七届河南省高等学校信息安全对抗大赛-御…

Jetson AGX Orin 平台12路4K相机CPHY驱动调试问题记录

1.前言 在Orin上启动CPHY相机模块时遇到了一些问题。 将4台CPHY摄像机连接到Orin 每个相机输出3VC图像 camera 1 vc0---4096x3072@30fps --- /dev/video0 vc1---4096x3072@30fps --- /dev/video1 vc2---4096x3072@30fps --- /dev/video2camera 2 vc0---4096x3072@30fps --…

鼠标上下滑轮时,来回乱跑

问题是: 鼠标滚轮滚动一次,向上或是向下。页面上下抖动后停在原位,或不规律的停留在某个位置,不受控制的感觉。 鼠标滑轮上下来回乱跳 ............... 以Win7为例: 控制面板-硬件和声音-鼠标-滑轮 ...... 垂直滚动 ..…

js实现滚动条(鼠标滚轮+鼠标拖动)

//html代码 <div class"layui-panel" id"box" style" height: 100%; width: 100%; position: relative; /*超出隐藏*/ overflow: hidden; " ><ul class"layui-menu" id"content" style" height: 170px;w…

鼠标滚轮横向滚动条

鼠标控制横向滚动条 记录一下 记录一下 private void ScrollViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e){ScrollViewer scrollviewer sender as ScrollViewer;if (e.Delta > 0)scrollviewer.LineLeft();elsescrollviewer.LineRight();e.Handled true…

vue——监听鼠标中键(滑轮)滚动

实现场景&#xff1a;通过滚动中键切换图片等 mounted() {window.addEventListener(wheel, this.handleMouseWheel, {passive: false,}) }, beforeDestroy() {window.removeEventListener(wheel, this.handleMouseWheel, {passive: false,}) },handleMouseWheel(e) {if (!wind…