【发布时间】:2017-08-06 15:30:51
【问题描述】:
我有以下类,名为 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
【问题讨论】:
-
你在使用django的默认用户表吗
-
@ArpitSolanki 不,我正在使用自定义的
-
def __init__(self, user):中的用户是什么?如果这是您的基本用户,您是否也愿意发布它。 -
@ArpitSolanki 这是一个我必须“修复”的项目,它有点庞大。我的意思是,数十万行代码。我所知道的是这个类实际上是用户权限架构:/
-
所以这一行
hasattr(user, "administrator")正在检查您的用户是否为管理员?
标签: python django python-2.7 django-views