在django中清理数据和有效数据有什么区别

ws51t4hk  于 2023-01-06  发布在  Go
关注(0)|答案(4)|浏览(196)

在django中cleaned_data和is_valid函数有什么区别呢?我只是遇到了表单,然后立刻就卡住了
有人能玩一些简单的例子。我读了很多文档,但我不能区分它。

vmdwslir

vmdwslir1#

is_valid()方法用于对表单的每个字段进行验证,它在Django Form类中定义。如果数据有效,它返回True,并将所有数据放入cleaned_data属性中。
用户通过表单提交的任何数据都将以字符串的形式传递到服务器。使用哪种类型的表单字段创建表单并不重要。最终,浏览器将所有内容都转换为字符串。当Django清理数据时,它会自动将数据转换为适当的类型。例如IntegerField数据将转换为整数在Django中,这些经过清理和验证的数据通常被称为清理过的数据。2我们可以通过cleaned_data字典访问清理过的数据:name = form.cleaned_data['name']

4si2a6ki

4si2a6ki2#

  1. is_valid()方法用于对表单的每个字段执行验证。
  2. cleaned_data是存储所有已验证字段的位置。
lpwwtiir

lpwwtiir3#

清理数据:干净的数据是有效的、准确的、完整的、一致的、唯一的和统一的。(脏的数据包括不一致和错误。)
django中有效的清理数据:它使用一种干净简单的方法来验证数据。is_valid()方法用于对表单的每个字段执行验证,它在DjangoForm类中定义。如果数据有效,它返回True,并将所有数据放入cleaned_data属性中。

z9smfwbn

z9smfwbn4#

示例

def InsertData(request):
        form = Student()
        if request.method == 'POST':
            form = Student(request.POST,request.FILES)
            if form.is_valid():
                fname = form.cleaned_data['fname']
                lname = form.cleaned_data['lname']
                email = form.cleaned_data['email']
                password1 = form.cleaned_data['password1']
                password2 = form.cleaned_data['password2']
                if password1 == password2:
                    form.save()
                    messages.success(request,'Student Successfully Inserted')
                    return redirect('/home/')
                else:
                    messages.error(request,'Password does not match !')
                    return redirect('/home/')
        context= {'form':form,}
        return render(request,'home.html',context)
    
    
    ### If we have used clean data in password1 and password2, then we can give condition that password1 and password2 must be same and it's length must be bigger then 7 we can do with the help of clean data and is_valid() will check that data is valid or not if it is valid then it will save the data.

相关问题