根据 Django 中的自定义用户类型限制对视图的访问

Restricting accesses on views based on the custom user type in Django

我使用具有 3 种用户类型的 AbstractUser 创建了一个自定义用户

    USER_TYPE = (
    ("type1", "type1"),
    ("type2", "type2"),
    ("type3", "type3"),
)

class User(AbstractUser):
    user_type = models.CharField(max_length=50, choices=USER_TYPE, null=True, blank=True, default="")

并且每个用户都有一个仪表板,它只对相应的用户可见,但我的情况是,如果有任何用户登录,我可以访问所有仪表板,因此如何根据此用户类型(type1、type2、type3)限制访问) 我正在使用基于 class 的视图

您可以使用 UserPassesTestMixin mixin

class YourView(UserPassesTestMixin, View):

    def test_func(self):
        return self.request.user.user_type == 'type1'