问题描述
我如何自定义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'