Day78三: 钩子函数hook

个人理解:1,有去有回(定义,获取,返回)  2,自动触发(源代码里有自动监控的模块)  3、局部钩子和全局钩子

HOOK)

```python
"""
在特定的节点自动触发完成响应操作

钩子函数在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
```

  

 

posted @ 2022-03-18 12:47  乔夫  阅读(64)  评论(0)    收藏  举报