关于clean
来源:6-11 完善地址编辑
Kepler_
2020-11-15 08:52:26
clean()函数中调用的super().clean()的返回值(cleaned_data)和clean_phone()中的cleaned_data
老师,您好:
上面这两个(cleaned_data)的区别在哪里?如果打印出来,各自得到的是不是都是dict类型的数据,那既然是这样,为什么视频中老师一下子使用clean()函数,一下子又是使用clean_phone()函数的clean_data呢?不明白使用这两个应该是在什么场景下使用,老师解释说明一下,谢谢
1回答
同学,你好。
1、clean_phone中的cleaned_data 是读取表单返回的值,返回类型为字典dict型,

2、super().clean是调用父类中的clean()方法,将返回值赋值给cleaned_data,得到的是所有表单中的数据

3、clean在form表单中的作用就是验证表单字段的值。在执行表单类时会自动调用。
clean_[字段]是对单个字段的数据进行验证,需要先得到相应字段的值,例:self.cleaned_data['phone']。
4、clean在form表单中的作用就是验证表单字段的值,需要重写该方法。在执行表单类时会自动调用。
同学可以重新看下3-2和3-3小节,视频中有对该方法的详细讲解