django获取cleaned_data属性失败

cleaned_data属性是调用了clean()方法之后才有的,如果在表单验证中使用  clean_字段名  方式定义了某个字段清洗函数,那么django会优先调用这个函数,最后调用clean()函数,如下:

def clean_mobile(self):
  mobile = self.cleaned_data['mobile'] #这样子写是错误的,这时cleaned_data属性并未生成

  调用清洗函数,其实质就是将表单类型转化为python数据类型,假如表单中有两个字段,分别是mobile,password,在表单类中定义了clean_mobile清洗字段mobile(即由clean_mobile()方法完成字段mobile由表单类型转化为python数据类型),那么字段password将由内置的clean()方法清洗,转换为python类型(即cleaned_data属性中只有password这一个字段,可通过login_form.cleaned_data['password']取得这个值)。data属性包含了表单的所有字段值,如下:

 

正确示例:

       

   

       

 

  以上代码只是告诉读者可以使用data 属性取得表单数据。    也可以使用形如:register_post_form.password.value 的形式在前端获取表单数据。

  

  注:读者可使用断点方式查看表单对象含有的字段。

猜你喜欢

转载自www.cnblogs.com/xiaohaodeboke/p/12757934.html
今日推荐