如何使用Django和Python按照经过身份验证的用户检查权限 [英] How to check the permissions as per authenticated user using Django and Python
问题描述
我需要检查每个使用Django和Python的身份验证用户所需的权限.我在下面提供我的代码.
I need to check the permission required as per authenticate user Using Django and Python. I am providing my code below.
class Permission(models.Model):
"""docstring for Permission"""
user_id = models.ForeignKey(User)
class Meta:
permissions = (
("view_reactor", "1"),
("find_reactor", "1"),
("controll_reactor", "0"),
)
Views.py:
from django.contrib.auth.decorators import permission_required
def view_reactor(request):
""" This function for to get serch screen. """
return render(request, 'plant/view_reactor.html',
{'count': 1})
在这里,我需要根据正确的 userid
检查 @permission_required
装饰器功能.假设已登录的用户具有权限("view_reactor","1")
,那么如果("view_reactor","0")可以访问
则无法访问. view_reactor
函数
Here I need to check @permission_required
decorator function as per proper userid
. Suppose the logged in user has permission ("view_reactor", "1"),
then that view_reactor
function can access if ("view_reactor", "0")
then it can not be accessed.
推荐答案
,您向模型添加了额外的权限,其中第一个值是权限名称,第二个值是人类可读的名称,(在此处详细说明
you add extra permissions to your model, where first value is a name of permission and second is a human readable name, (details here meta permissions) so if i understand you need added it to your Reactor
model for example:
class Reactor(models.Model):
# ^^^^^^
# ....
user_id = models.ForeignKey(User)
class Meta:
permissions = (
("view_reactor", "can view reactor"),
("find_reactor", "can find reactor"),
("controll_reactor", "can controll reactor"),
)
,您可以在视图中使用
from django.contrib.auth.decorators import permission_required
@permission_required('reactor.view_reactor')
def view_reactor(request):
对不起,如果我误会了
这篇关于如何使用Django和Python按照经过身份验证的用户检查权限的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!