在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

  

posted @ 2024-06-09 18:11  GOZO  阅读(22)  评论(0)    收藏  举报