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