在登录时将用户重定向到单独的页面

时间:2019-07-17 06:11:44

标签: python django python-3.x

我正在创建一个django管理应用程序,其中有两种不同类型的用户。一个是管理员,另一个是简单用户。 问题是我不知道如何将这些用户重定向到他们自己的仪表板。 例如,如果创建了管理员帐户的用户登录,则他/她应该看到管理员仪表板。并且如果具有简单用户帐户的用户登录,则他/她一定不能看到管理仪表板。

1 个答案:

答案 0 :(得分:0)

嘿,我现在没有时间为您提供太多帮助,但我会说您要检查此Django ClassView:https://docs.djangoproject.com/en/2.2/ref/class-based-views/base/#redirectview

您可以执行以下操作:

class RedirectView(RedirectView):
    def get_redirect_url(self, *args, **kwargs):
        if self.request.user.is_admin():
            return reverse('admin_dashboard')
        else:
            return reverse('user_dashboard')

如果您需要其他帮助,请询问我,稍后我会帮助您。祝你好运!

编辑:此外,您应该在管理控制台视图中检查用户是否具有管理员角色,否则返回403或404。

https://docs.djangoproject.com/en/2.2/topics/http/views/#the-http404-exception

相关问题