Django 检查基于类的视图中是否有超级用户

ple*_*urt 3 python django

我正在将我的项目从基于函数的视图转换为基于类的视图。在视图函数中,我可以使用函数检查用户是否是超级用户request.user.is_superuser()LoginRequiredMixin我可以通过在类中继承来检查用户是否登录View,我想知道是否有任何类似的方法可用于检查用户是否是类中的超级用户View。我想要一个只能由网站的超级用户访问的 Django 应用程序。

tah*_*tof 7

您可以创建自己的:

from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin

class SuperUserRequiredMixin(LoginRequiredMixin, UserPassesTestMixin):

    def test_func(self):
        return self.request.user.is_superuser
Run Code Online (Sandbox Code Playgroud)

然后不要在ClassBasedView中使用LoginRequiredMixin ,而是使用SuperUserRequiredMixin

现在您的视图将只允许登录的超级用户。