关于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回答

时间,

2020-11-15

同学,你好。

1、clean_phone中的cleaned_data 是读取表单返回的值,返回类型为字典dict型,

http://img.mukewang.com/climg/5fb0a604096fc41710130224.jpg

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

http://img.mukewang.com/climg/5fb0a5e709b9365f12460219.jpg

3、clean在form表单中的作用就是验证表单字段的值。在执行表单类时会自动调用。

    clean_[字段]是对单个字段的数据进行验证,需要先得到相应字段的值,例:self.cleaned_data['phone']。

4、clean在form表单中的作用就是验证表单字段的值,需要重写该方法。在执行表单类时会自动调用。

同学可以重新看下3-2和3-3小节,视频中有对该方法的详细讲解

0

0 学习 · 3562 问题

查看课程