在settings加入AUTHENTICATION_BACKENDS設定導致root使用者無法登入問題

GOZO發表於2024-06-09

是因為後臺沒有實現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

  

相關文章