class LoginForm(forms.Form):

    user = fields.CharField()
pwd = fields.CharField(validators=[]) def clean_user(self):
c = models.UserInfo.objects.filter(name=self.cleand_data['user']).count()
if not c:
return self.cleand_data['user']
else:
raise ValidationError('用户名已经存在',code='xxx') def clean_pwd(self):
return self.cleand_data['email'] def clean(self): c = models.UserInfo.objects.filter(name= self.cleand_data['user'],pwd=self.cleand_data['pwd']).count()
if c:
return self.cleand_data
else:
raise ValidationError('用户名或密码错误') def _post_clean(self):
pass

如果单独验证每个字段是否有错误,需要自定义钩子clean_字段名称

如果做整体的验证需要clean钩子

__post_cleanclean验证完之后

    from django.core.exceptions import NON_FIELD_ERRORS
obj = RegisterForm(request.POST)
if obj.is_valid():
obj.cleand_data else:
obj.errors
{
'user':[{'code':'required','message':'xxxx'}],
'pwd':[{'code':'required','message':'xxxx'}],
# 上面每个字段的错误信息放在里面,那clean总的错误信息放在哪里?
'__all__':[], # 特殊的整体错误信息,放在这里
# NON_FIELD_ERRORS:[], 和 __all__ 一个意思。
}

Python自动化之form验证二的更多相关文章

  1. Python自动化之form验证

    model里面进行数据验证 在类里面定义一个clean方法 class User(models.Model): def clean(self): #在这个可以做一些验证的操作 pass 还可以手动抛出 ...

  2. Python自动化开发 - 常用模块(二)

    本节内容 1.shutil模块 2.shelve模块 3.xml处理模块 4.configparser模块 5.hashlib模块 6.subprocess模块 7.re模块 一.shutil模块 高 ...

  3. Appium+python自动化(四十二)-Appium自动化测试框架综合实践- 寿终正寝完结篇(超详解)

    1.简介 按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台.今天这篇分享讲解完.Appium自动化测试框架就要告一段落了. 2.执行测试用例&报告生成 测试报告, ...

  4. Python自动化 【第十二篇】:Python进阶-MySQL和ORM

    本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 外键 增删改查表 权限 事务 索引 python 操作mysql ORM sql ...

  5. PYTHON 自动化之路 (二)

    一.python 模块的使用 模块的使用: import os #调用 os 模块 cmd_s = os.popen("dir").read() #打开路径为结果保存为cmd_sp ...

  6. Python 自动化脚本学习(二)

    流程控制 布尔值 temp = True temp = False 比较符号 == != < <= > >= 与或非 and or not 混合布尔的比较 (4<5)an ...

  7. Appium+python自动化(三十二)- 代码写死一时爽,框架重构火葬场 - PageObject+unittest(超详解)

    简介 江湖有言:”代码写死一时爽,框架重构火葬场“,更有人戏言:”代码动态一时爽,一直动态一直爽

  8. python自动华 (十二)

    Python自动化 [第十二篇]:Python进阶-MySQL和ORM 本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 外键 增 ...

  9. python自动化工具之pywinauto(一个实例)结合pyuserinput

    以下是pywinauto使用指南.这个窗口句柄可以在Spy++中查看 (Microsoft Spy++(查看窗口句柄) 10.00.30319 官方最新绿色版) python自动化工具之pywinau ...

随机推荐

  1. SVN提交小结

    在我们用VS进行项目合作开发的过程中,SVN的提交控制是至关重要的,由于版本冲突造成的各种麻烦咱们已经遇到的够多了.所以,总结他们的经验教训,给我们也给其他人做个提醒.下面的第一部分是需要在正式开发之 ...

  2. 高级功能:很有用的javascript自定义事件

    之前写了篇文章<原生javascript实现类似jquery on方法的行为监听>比较浅显,能够简单的使用场景. 这里的自定义事件指的是区别javascript默认的与DOM交互的事件,比 ...

  3. ubuntn安装

    环境win7 64 ,在vmn中安装ubuntn,需要开启虚拟化操作步骤: 1.首先进入BIOS,我的是thinkphpE440,在开机联想界面出现的那刻按F1: 2.选择切换到security页面, ...

  4. animation3 背景小动画笔记

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. <Android 基础(二十八)> Fragment (1)

    简介 Fragment,碎片,常用的内容,但是一直没有系统的学习下它的使用方法,花几天抽空看看随便记录一下. 生命周期 来自官网的图片一目了然. 自测试结果: 基本使用 1.自定义一个Fragment ...

  6. CentOS7系列--3.2CentOS7中配置iSCSI服务

    CentOS7配置iSCSI服务 在网络上的存贮服务为iSCSI Target,而连接到iSCSI Target服务的叫iSCSI Initiator 1. 直接配置iSCSI Target服务 1. ...

  7. unicorn模拟执行学习

     前言 unicorn 是一个模拟执行软件,用于模拟执行各种平台的二进制文件,前几天在  twitter 上看到一篇文章,这里做个记录. 正文 记录系统调用 首先是一个简单的示例 e8ffffffff ...

  8. ASP.NET 通过配置hiddenSegment禁止目录下资源通过Url形式访问

    根据默认的ASP.NET配置,App_Data下的资源是禁止通过Url形式直接访问的,在实际开发中,可能也会有这样的需求,比如某些是系统资源目录,该目录下的资源也需要像App_Data目录一样禁止访问 ...

  9. 转载:eclipse 搭建SSH项目(第二篇,有具体的项目例子)

    原文地址:http://blog.csdn.net/yeohcooller/article/details/9316923 读博文前应该注意: 本文提纲:本文通过一个用户注册的实例讲解SSH的整合.创 ...

  10. 远程连接MySQL服务器

    在CentOS虚拟机上安装好了MySQL服务以后,在windows上用Workbench客户端去连接时碰到很多问题,现在把解决过程记录一下. 1.在Windows上ping CentOS IP是可以p ...