【问题标题】:Django validation best practiceDjango 验证最佳实践
【发布时间】:2015-07-06 13:38:26
【问题描述】:

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

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

使用基于类的视图(在这种情况下显然是 FormView)执行此操作的最佳实践方式是什么?

要不要输入验证码:-

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

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

【问题讨论】:

    标签: django django-forms django-validation


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-08-17
      • 2015-10-20
      • 2011-01-11
      • 2011-09-24
      • 1970-01-01
      • 1970-01-01
      • 2016-01-09
      • 2014-01-23
      • 2013-01-17
      相关资源
      最近更新 更多