Django 何时使用表单与模型验证?
只是好奇。何时使用表单与模型验证的最佳实践是什么? 据我目前了解,表单验证应用于:Django 何时使用表单与模型验证?,django,django-forms,Django,Django Forms,只是好奇。何时使用表单与模型验证的最佳实践是什么? 据我目前了解,表单验证应用于: AJAX/HTTP请求参数 与模型不相关的表单 另一个问题是:我有一个与模型实例大致相关的HTML表单,我使用ModelForm吗?如果表单与模型对象非常相似,那么一定要使用ModelForm 如果存在一些细微的差异(例如,您不使用某些字段或希望使用不同的错误消息等),则定制ModelForm要容易得多,然后使用Form从头开始实现所有这些功能 有关ModelForm的更多参考信息,请查阅Pydenny的。我
- AJAX/HTTP请求参数
- 与模型不相关的表单
另一个问题是:我有一个与模型实例大致相关的HTML表单,我使用ModelForm吗?如果表单与模型对象非常相似,那么一定要使用
ModelForm
如果存在一些细微的差异(例如,您不使用某些字段或希望使用不同的错误消息等),则定制ModelForm
要容易得多,然后使用Form
从头开始实现所有这些功能
有关
ModelForm
的更多参考信息,请查阅Pydenny的。我还试图了解表单和模型验证之间的区别/关系,我想分享我在阅读多个文档后形成的注释
我现在对
@马里奥德夫分享了这份文件,这提供了一个良好的开端
ModelForms根据模型字段定义选择验证器
幕后的主要故事似乎是主角。很好地解释了这里的具体情况
好吧,这一切都是公平的。问题是“在Django文档中这是在哪里解释的”
我撞到了一个非常危险的地方,上面写着:
django在验证过程开始时调用form.full_clean()方法(按form.is_valid(),通常在视图收到发布的数据后立即调用)
如果我错了,请更正,但该行显示每次我输入数据并点击“回车”时,验证过程开始
好了,这很简单:
- 当我们点击“回车”键时,开始
- Django首先检查每个适用的验证方法,(这是模型字段子类的文档,而不是表单字段子类的文档)和(因为它是一个ModelForm)
- 最后,验证了算法的有效性