在settings加入AUTHENTICATION_BACKENDS设置导致root用户无法登录问题
是因为后台没有实现get_user认证导致
get_user 方法的作用:
-
会话管理:当用户登录后,Django 会在会话中存储用户的 ID。每次请求时,Django 会调用
get_user方法来从会话中获取用户 ID 并加载用户对象。这确保了每个请求都能正确识别已登录的用户。 -
处理请求中的用户:Django 需要从会话中获取用户并设置到
request.user。如果没有get_user方法,Django 将无法从会话中加载用户信息,这会导致request.user始终为匿名用户。
加入下面代码:
def get_user(self, user_id):
try:
return User.objects.get(pk=user_id)
except User.DoesNotExist:
return None

浙公网安备 33010602011771号