我对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