使用电话号码在Django中验证用户身份

时间:2015-06-17 08:29:56

标签: python django

有没有办法让我在Django中正确使用用户的电话号码作为登录/验证机制?到目前为止,我已经在构建的auth系统中使用了Django,所以我从未遇到过这样的要求。

然而,就我而言,除了弄清楚我必须使用一次性密码机制进行身份验证时,我似乎无法取得任何进展。

2 个答案:

答案 0 :(得分:8)

您可以自定义User模型,并指定另一个字段作为用户名。这在the auth documentation中提到:

  

<强> USERNAME_FIELD

     

描述用户模型上用作唯一标识符的字段名称的字符串。这通常是某种用户名,但也可以是电子邮件地址或任何其他唯一标识符。该字段必须是唯一的(即,在其定义中设置了unique = True)。

如下所示:

class MyUser(AbstractBaseUser):
    phone_number = models.RegexField(...)
    ...
    USERNAME_FIELD = 'phone_number'

您应该仔细阅读身份验证文档,特别是"Customizing the User model""Substituting a custom User model"

答案 1 :(得分:0)

只需实现自定义身份验证后端即可。 Django使用电子邮件字段有一个示例in the documentation。只需使用电话号码字段即可。

相关问题