如何覆盖 Django 中的 CB LoginView

How to override the CB LoginView in Django

我有这个 url 用于我的登录。我想让这个登录重定向到不同的页面,具体取决于用户的级别,即管理员或超级用户。

我该怎么做????

url(r'^login/$',  auth_views.LoginView.as_view(), name='login'),

您只需覆盖 LoginView 上的 get_success_url 方法并创建自定义 login.html 文件并将默认的 LoginView 替换为您的自定义文件

from django.contrib.auth.views import LoginView


class CustomLoginRedirectView(LoginView):
    def get_success_url(self):
        if not self.request.user.is_staff:
            return 'https://www.google.com/'
        else:
            return '