局部钩子和和全局钩子

## 局部钩子的使用
    # 1 在自定义的Form类中写 clean_字段名
    # 2 取出字段的真正值,name=self.cleaned_data.get('name')
    # 3 判断自己的规则,如果判断失败,抛出ValidationError
    # 4 如果通过,return name
# 局部钩子
    def clean_name(self):
        # name对应的值,如何取到?
        name = self.cleaned_data.get('name')
        if name.startswith('sb'):
            # 不让校验通过
            raise ValidationError('不能以sb开头')
        else:
            # 校验通过,返回name
            return name #一定要返回,返回什么全局钩子就拿到什么
# 全局钩子
    def clean(self):
        # name=self.cleaned_data.get('name')
        # print(name)
        password = self.cleaned_data.get('password')
        re_password = self.cleaned_data.get('re_password')
        if password == re_password:
            return self.cleaned_data #也要返回
            # return {'lqz':"nb"}
        else:
            raise ValidationError('两次密码不一致')

 

posted @ 2020-10-21 19:42  Οo白麒麟оΟ  阅读(148)  评论(0编辑  收藏  举报