何时使用表格与模型验证?

时间:2013-11-16 11:14:05

标签: django django-forms

好奇。何时使用表单与模型验证的最佳实践是什么? 根据我目前的理解,表单验证应该用于:

  • AJAX / HTTP请求参数
  • 与模型无关的表单?

另一个问题是:我有一个大致与模型实例相关的HTML表单,我是否使用了ModelForm?

2 个答案:

答案 0 :(得分:1)

绝对使用ModelForm,如果您的表单即使只是一小部分也类似于模型对象。

如果存在一些细微差别(例如,您没有使用某些字段,或者您想使用不同的错误消息等),那么自定义ModelForm然后使用起来要容易得多Form并从头开始实现所有这些功能。

有关ModelForm的更多参考,请查看PyDanny的Core Concepts of Django ModelForms

答案 1 :(得分:0)

我也试图了解表单和模型验证之间的区别/关系,我想分享我在阅读几个文档后形成的注释。

我目前对Creating Forms from Models

感兴趣

@mariodev共享了文档Core Concepts of Django ModelForms,这提供了一个良好的开端。

  

ModelForms根据模型字段定义选择验证器

幕后的主要故事似乎是DRY校长。 This article非常清楚地解释了这里的具体情况。

好的,这一切都是公平的。问题是“Django文档在哪里解释了这个”?

我碰到了一个非常brilliant article的地方,声明:

  

form.full_clean()方法在验证过程开始时由django调用(通过form.is_valid(),通常在视图收到发布数据后立即)。

如果我错了,请纠正我,但是每次输入数据并点击“输入”时该行都会显示验证过程开始!

好的,现在很简单:

理论上这就是所有这些。唯一剩下的就是实现它。