簡體   English   中英

如何從 Django 訪問當前用戶以做出反應?

[英]How to Access Current User from Django to React?

我正在開發一個用戶登錄的系統,他們可以使用我們服務的功能。 我們使用 Django 身份驗證來制作用戶和登錄后端。 這是我的 models.py 中的自定義用戶 model -

class UserDef(AbstractUser):
    def __str__(self):
        return self.first_name + self.last_name
    
    employeeId = models.IntegerField(unique=True)
    email_address = models.EmailField()
    first_name = models.CharField(max_length=256)
    last_name = models.CharField(max_length=256)
    USER_TYPES = [('1',"Admin"), ('2',"Director"), ('3',"Sr. Manager"), ('4',"Manager") , ('5',"Sr. Engineer"), ('6',"Assistant Regional Manager"), ('7',"Assistant to the Regional Manager")]
    user_type = models.CharField(max_length=2048, choices=USER_TYPES)
    created_at = models.DateTimeField(auto_now_add=True)

這本身非常有效,我能夠根據需要訪問所有數據。 不過,我正在用 React 編寫我的前端。 這意味着模板 html 文件和實際的 React.js 代碼之間存在一定的脫節。 這意味着我不能簡單地將employeeId 或其他一些屬性作為上下文發送。 有誰知道我如何從 Django 數據庫(我們已連接到 RDS-MySQL 服務器)中提取用戶信息並將其顯示在我的 React 應用程序中。

如果用戶已經登錄並且已經生成了 sessionID。 您可以通過創建一個端點來獲取當前用戶,然后在 React 前端調用端點。

@api_view(['GET'])
def current_user(request):
    user = request.user
    return Response({
      'username' : user.username,
      'firstname' : user.first_name,
      'employeeID' : user.employeeId,
       # and so on...
    })

顯然,您可以始終使用序列化程序來簡化流程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM