Form组建的简单扩展
1.form的验证流程
clean_fields
用户输入的字段,首先通过正则表达式的验证,当验证成功之后,将字段和值放入一个字典中,如果后面还有clean_字段名这样的方法,则会继续执行,如果clean_字段名方法执行成功,字典中的值会进行更新。
def clean_user(self): v = self.cleaned_data['user'] print(v) print(models.Book.objects.filter(name=v).values_list('price')) if models.Book.objects.filter(name=str(v)).count(): # 整体错了 # 自己详细错误信息 print('bbb') raise ValidationError('用户名已存在') return v clean_user对应user字段,在这里可以自定义函数,或者自定义功能进行再次验证或者做某些事,最后将修改后的字典返回即可