局部钩子和和全局钩子
## 局部钩子的使用 # 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('两次密码不一致')
每天逼着自己写点东西,终有一天会为自己的变化感动的。这是一个潜移默化的过程,每天坚持编编故事,自己不知不觉就会拥有故事人物的特质的。 Explicit is better than implicit.(清楚优于含糊)