@Bobby 老师
就是管理员是一个表,继承AbstractUser, 用户是一个表继承Model,auth_user_model写的是管理员的表,JWT登录验证也是管理员表,如何为用户表写一个登录接口呢?
您之前回答过一个类似的问题,说是 “ 新建一张客户表,然后这个表中有一个onetoonefiled指向一个user记录就行了 ”,
首先这两个表内容是不一样的啊,一个是管理员,一个是注册用户,onetoonefield指向另一个表的记录是什么情况啊,您能否详细讲解啊,
另外除了这个方式之外还有没有别的方式了,可不可以也为用户写一个登录接口呢,如果可以,直接这样写行吗
urls.py
# jwt的认证接口
# 管理员的认证接口
path('login/', obtain_jwt_token),
# 注册用户的认证接口
path('userlogin/', obtain_jwt_token)
他俩用的是一个,虽然说他俩用的是一个,并且auth_user_model指向的是管理员的,但是我在
views.py
class CustomBackend(ModelBackend):
# 注册用户验证
def authenticate(self, request, username=None, password=None, **kwargs):
try:
custom= Custom.objects.get(Q(username=username) | Q(phone=username))
if patient.check_password(password):
return custom
except Exception as e:
return None
class AdminBackend(ModelBackend):
# 管理员验证
def authenticate(self, request, username=None, password=None, **kwargs):
try:
admin= Admin.objects.get(Q(username=username) | Q(phone=username))
if patient.check_password(password):
return admin
except Exception as e:
return None
中是这样写的,
settings.py
AUTH_USER_MODEL = 'users.PatientProfile'
AUTHENTICATION_BACKENDS = (
'users.views.CustomBackend','users.views.AdminBackend',
)
这样写可以吗,
还是需要重写一个接口,
Django REST framework课程视频,RESTFul API前后端分离开发
了解课程