我有以下类,名为 custom_class.py。我所需要的只是一种方法来检查我的视图中某个用户是否是管理员,并显示一些 DIV,如果不是,则隐藏它们。
class Backend_user:
parents = {'Administrator': 'None',
'Supervisor': 'Administrator',
'Operator': 'Supervisor',
}
childs = {'Administrator': 'Supervisor',
'Supervisor': 'Operator',
'Operator': 'Boss',
}
def __init__(self, user):
self.user = user
self.permissions = OrderedDict()
self.permissions_plural = OrderedDict()
self.permissions_plural['Administrator'] = 'Administrators'
self.permissions_plural['Supervisor'] = 'Supervisors'
if hasattr(user, "administrator"):
self.my_specialty = getattr(user, 'administrator')
self.permissions['Administrator'] = True
self.permissions['Supervisor'] = True
self.permissions['Operator'] = True
self.permissions['Boss'] = True
elif hasattr(user, "supervisor"):
self.my_specialty = getattr(user, 'supervisor')
self.permissions['Administrator'] = False
self.permissions['Supervisor'] = True
self.permissions['Operator'] = True
self.permissions['Boss'] = True
假设您有一个具有某种名称的用户表,它也是 Backend_user 表的外键,因此您可以简单地检查用户是否是管理员。您必须从用户表中获取用户对象,然后检查它是否具有该属性
def some_view(request):
user_obj = CustomUser.objects.get(id=some_id) # get the user here
if hasattr(user_obj, "administrator"): # checking if user is admin
# show some div
else:
# don't show