如标题中所述......差异是什么?
我看到人们继续说使用cleaned_data
,在视频中人们仍然这么说,但只是说它清理了数据,但是当我使用打印时
print form.cleaned_data.get('title')
print request.POST.get('title')
但是,我没有看到任何差异。起初我认为这些角色是逃避的,所以经过测试并且看起来并不是这样。
这实际上是一种首选方式,因为它似乎没有差异?
答案 0 :(得分:3)
您无法信任请求数据,因为它是未经验证的原始数据。您永远不应该使用request
中的数据并将其存储到您的数据库中。
为了顺利运行应用程序,只在数据库中存储有效数据非常重要。 Django表单cleaned_data
确保您满足或不满足该表单的验证规则。 form.is_valid()
检查针对request.POST
数据的所有验证,并生成包含form.cleaned_data
有效数据的字典。
因此,从forms.cleaned_data
属性检索的数据将通过表单验证。它不仅是验证,而且还将数据转换为相关的python类型。
您也可以参考此link来了解Django表单执行验证的方式。