""" 在特定的节点自动触发完成响应操作 钩子函数在forms组件中就类似于第二道关卡,能够让我们自定义校验规则 在forms组件中有两类钩子 1.局部钩子 当你需要给单个字段增加校验规则的时候可以使用 2.全局钩子 当你需要给多个字段增加校验规则的时候可以使用 """ # 实际案例 # 1.校验用户名中不能含有666 只是校验username字段 局部钩子 # 2.校验密码和确认密码是否一致 password confirm两个字段 全局钩子 # 钩子函数 在类里面书写方法即可 # 局部钩子 def clean_username(self): # 获取到用户名 username = self.cleaned_data.get('username') if '666' in username: # 提示前端展示错误信息 self.add_error('username','光喊666是不行滴~') # 将钩子函数钩去出来数据再放回去 return username # 全局钩子 def clean(self): password = self.cleaned_data.get('password') confirm_password = self.cleaned_data.get('confirm_password') if not confirm_password == password: self.add_error('confirm_password','两次密码不一致') # 将钩子函数钩出来数据再放回去 return self.cleaned_data ```