gpt4 book ai didi

django - 为什么我们在 django 的表单上使用 cleaned_data

转载 作者:行者123 更新时间:2023-12-05 03:51:38 27 4
gpt4 key购买 nike

为什么我们使用 cleaned_data firstname= form.cleaned_data.get("first_name")

这有什么意义,为什么有必要?

最佳答案

当您在表单上调用 is_valid() 方法时,它会导致表单数据的验证和清理。在此过程中,Django 创建了一个名为 cleaned_data 的属性,这是一个字典,其中仅包含来自已通过验证测试的字段的已清理数据。

有2种基本Form(forms.Form)和ModelForm(forms.ModelForm)。

如果您使用的是 ModelForm,则无需使用 cleaned_data 字典,因为当您执行 form.save() 时,它已经匹配并保存了干净的数据。但是您使用的是基本表单,那么您必须手动将每个 cleaned_data 与其数据库位置匹配,然后将实例保存到数据库而不是表单。

例如基本表单:

if form.is_valid():
ex = Example()
ex.username = form.cleaned_data['username']
ex.save()

例如模型窗体:

if form.is_valid():
form.save()

重要提示:如果表单从 is_valid() 阶段通过,则没有任何未经验证的数据。

关于django - 为什么我们在 django 的表单上使用 cleaned_data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62760158/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com