Django验证最佳实践

时间:2015-07-06 13:38:26

标签: django django-forms django-validation

我正在实现一个只包含电子邮件地址字段的自定义Django表单。

除了通常的电子邮件字段类型验证之外,我还想添加一些额外的检查,例如此电子邮件地址是否已用于此用户等。

使用基于类的视图(在这种情况下,显然是FormView)的最佳实践方法是什么?

我应该放置验证码: -

  1. 在FormView的form_valid()方法或
  2. 在表单类
  3. 的clean_email()方法中

    选项2对我来说似乎是最好的,但如果我这样做,我需要将用户传递到表单中(并在init方法中弹出),以便clean_email方法可以用来进行数据库查找。似乎也很正确。

1 个答案:

答案 0 :(得分:0)

使用后一种方法,因为你知道它是最好的方法 通过这种方法的另一个好处是,您可以确定您的验证错误发生在哪个函数,这可能有助于您将来添加更多验证。

然后还有其他方法来检查用户是否已经存在于系统中。
您必须在视图中添加逻辑。