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

这篇具有很好参考价值的文章主要介绍了【Django-报错处理】form.is_valid()方法报错:KeyError: ‘###‘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最初,报错的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中,再判断其是否相等就可以了。具体修改如下:文章来源地址https://www.toymoban.com/news/detail-547512.html

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

到了这里,关于【Django-报错处理】form.is_valid()方法报错:KeyError: ‘###‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【项目部署】JavaScript解析JSON解析报错Unexpected token xxx is not valid JSON

    这个报错发生在之前部署的一个前后端分离的项目中。后端使用的Spring Boot,前端使用的JavaScript,前后端交互使用Thymeleaf框架。 项目组的另一个小伙伴说,突然有个页面打不开了,整个页面全空白。我F12打开浏览器发现有如下报错: 首先我打开了JavaScript的代码部分,发现报

    2024年02月07日
    浏览(52)
  • 加入k8s集群报错this Docker version is not on the list of validated versions: 20.10.17. Latest validated...

    报错信息可以看出跟docker的版本有关系,意思是:此 Docker 版本不在已验证版本列表中:20.10.17。 最新验证版本:18.09 分别查看docker和k8s的版本 k8s与docker的兼容关系图,所以需要降低docker的版本到18.09以下 查看当前仓库支持的docker版本 选择18.09的版本,降级到18.06版本会报错

    2024年02月14日
    浏览(48)
  • uniapp项目启动报错 binding.node is not a valid Win32 application 终极解决方案

    出现问题的前提条件: 阅读 uniapp 官网的教程,快速上手阶段使用 hbuildx 进行项目搭建时,无法成功启动 uniapp 项目。 这个问题在网上有很多解答,但是大部分都说的很不清楚。 在网上随便找了点代码复现错误: 仔细观察可以发现 其实两次出现的这个路径都是同一个,我们

    2024年02月09日
    浏览(73)
  • .net core中Grpc使用报错:The remote certificate is invalid according to the validation procedure.

    因为Grpc采用HTTP/2作为通信协议,默认采用LTS/SSL加密方式传输,比如使用.net core启动一个 服务端(被调用方) 时:   其中使用UseHttps方法添加证书和秘钥。 但是,有时候,比如开发阶段,我们可能没有证书,或者是一个自己制作的临时测试证书,那么在 客户端(调用方)

    2023年04月13日
    浏览(46)
  • openmmlab出现KeyError: ‘xxx is not in the model registry....‘

    在复现基于mmpose框架的算法时,运行程序出现KeyError: \\\'xxx is not in the model registry....\\\'的问题,报错原因是自定义的backbone等结构或者某些当前代码使用的方法没有注册到现有的包中, 导致在import的时候无法导入该方法。 找到 requirements.txt 或者相关安装依赖环境的txt文件,重复安装

    2024年02月11日
    浏览(35)
  • 网页报错“Form elements must have labels”的处理

    网页报错“Form elements must have labels”的处理 先给出错误现象源码: 保存文件名为:错误发生2.html 顺便提示:打开浏览器开发工具(DevTools),可用下面方式之一: 按Ctrl+Shift+I(Windows、Linux)或 Command+Option+I (macOS)。 按 F12。 右键单击网页上的任何项,然后选择 “检查”。

    2024年01月20日
    浏览(35)
  • 解决uncompyle6反编译报错KeyError

    报错内容:KeyError:\\\'3.11.0\\\' (这个是我自己的Python版本号) 主要原因就是你的Python版本没在它库文件支持的版本里,我们需要进行手动添加即可。 首先找到文件: magics.py 我的是在这个路径下:D:Python Libsite-packagesxdis (每个人Python安装位置不一样,不过后面子文件夹应该是

    2024年01月19日
    浏览(33)
  • 宝塔面板站点SSL,Let‘s Encrypt 证书申请报错:Invalid version. The only valid version for X509Req is 0.

    Linux正式版 7.9.10 CentOS 7.3.1611 x86_64(Py3.7.9) 新服务器 , 新装宝塔 , 新增站点 ,ssl选择Let’s Encrypt,点击申请证书 报错: 文件验证和DNS验证都报这个错。 试过修复面板(无效),试过回退到7.9.8版本(无效) 您好,您这个报错是因为面板依赖的不兼容导致的证书申请失败,

    2024年02月09日
    浏览(40)
  • python运行报错 KeyError: “[‘...’] not in index”

    我在使用python指定列读取xlsx数据时遇到这个报错,具体原因不知。 这个错误通常表示你正在尝试访问一个不存在的索引或列。为了解决这个错误,你应该检查正在使用的代码并确定是否存在以下情况之一: 索引或列名错误: 检查是否在 DataFrame 中具有正确的索引或列名,可以

    2024年02月11日
    浏览(40)
  • element UI —— form表单中Radio单选框进行切换 & 表单验证rule动态校验-validator & 保存前进行form表单校验后才能上传-validate

    element UI —— form表单中Radio单选框进行切换 表单验证rule动态校验-validator 保存前进行form表单校验后才能上传-validate 1、效果图 2、代码 结构 数据

    2024年02月07日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包