【发布时间】:2021-08-18 19:39:06
【问题描述】:
我已经在我的项目中使用链接https://django-rest-framework-simplejwt.readthedocs.io/en/latest/index.html实现了JWT认证和授权
代码运行良好,但我需要将“用户名”和“密码”更改为“手机号码”和“OTP”。
我有一个自定义用户模型,例如
class User(AbstractUser):
password = models.CharField(max_length=128, blank=True, null=True)
email = models.EmailField(max_length=254, unique=True)
dial_code_id = models.CharField(max_length=100)
mobile_number = models.CharField(max_length=100, blank=True, null=True)
username = models.CharField(max_length=150, unique=True, blank=True, null=True)
is_resource = models.BooleanField(default=False)
is_customer = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
skills = models.ManyToManyField(Skills)
class Meta:
db_table = "my_user"
def __str__(self):
return self.mobile_number
出于登录目的,我打算有一个类似的 otp 模型
class LoginOtp(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
otp = models.IntegerField()
created_on = models.DateTimeField(default=datetime.utcnow())
class Meta:
db_table = "otp"
- 我不知道上述方法是否是正确的方法。如果不是,请纠正我。
- 如何将“username”和“password”替换为“mobile_number”和“otp”。
谢谢。
【问题讨论】:
标签: django django-rest-framework django-rest-auth django-rest-framework-jwt django-rest-framework-simplejwt