如何在 Django 模板中检测角色用户?

how detect role user in django template?

在我的模板中,我想检测连接的用户是旅行者还是管理员。 这是我的模型的一个例子。 注意:用户class是用户django模型class

我看到 "has_perm" 但我没有权限 我想要角色。

"is_authenticated()" 但用户 admin 和用户 traveler 已通过身份验证。

"is_superuser" 但我不想要很多超级用户 django admin

我在 spring 中使用了标签“hasRole('Admin') 但在 django 中我没有看到替代方案。

谢谢!!

根据我的理解,您应该能够在 类 本身上放置静态属性来指示他们是管理员还是旅行者,而无需使用 isinstance

class Administrator(User):
    ...

    @property
    def is_admin(self):
        return True

    @property
    def is_traveller(self):
        return False



class Traveller(User):
    ...

    @property
    def is_admin(self):
        return False

    @property
    def is_traveller(self):
        return True