我對Python和Django非常陌生,正在查看使用Django內置登錄系統(django.contrib.auth.login)的代碼。如何從django.contrib.auth(Django內置登錄系統)獲取用戶名?
用戶登錄後,我想根據用戶權限將用戶重定向到適當的URL。例如,某些用戶名擁有管理員權限,而有些則只是普通用戶。但是,點擊「登錄」按鈕後,用戶總是被重定向到相同的URL。
爲了以不同方式重定向用戶,我必須檢查用戶名,並檢查用戶具有的權限。但是,我找不到任何方法從django.contrib.auth.login中獲取用戶名。就好像用戶名在驗證通過後就消失了一樣。
有誰知道如何解決這個問題?
謝謝!
你應該告訴你正在使用的代碼,並指出其中的用戶名「消失」。 –
經過身份驗證的用戶存儲在請求對象中的'用戶'屬性下。如果您使用基於類的視圖,則可以在視圖中使用'request.user'或'self.request.user'來檢索它。這很好地解釋了[在文檔中](https://docs.djangoproject.com/en/1.11/topics/auth/default/#authentication-in-web-requests)。 – Antwane
[此問題](https://stackoverflow.com/questions/16824004/django-conditional-login-redirect/16824337#16824337)可能會有所幫助。 – Alasdair