在Django中进行无密码用户注册

问题描述

我如何自定义Django的用户模型,以类似于Whatsapp的无密码身份验证?仅(使用手机号码和OTP进行验证)

解决方法

使用AbstractUser模型:

from django.contrib.auth.models import AbstractUser

然后自定义您的原始User模型:

class CustomUser(AbstractUser):
    username = models.CharField(max_length=200,blank=True,null=True)
    mobile = models.CharField(max_length=200,null=True)
    opt = models.CharField(max_length=200,null=True)
    # Add more fields as per need
    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ["mobile","opt",]

您可以根据需要指定必填字段列表。

在您的settings.py中指定用户模型(假设用户应用):

AUTH_USER_MODEL = 'users.CustomUser'