Django 验证最佳实践

Django validation best practice

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

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

使用基于 class 的视图(在本例中显然是 FormView)执行此操作的最佳做​​法是什么?

要不要输入验证码:-

  1. 在FormView的form_valid()方法中或者
  2. 在 clean_email() 方法中 class

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

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

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