Django auth.group自定义权限

时间:2017-09-08 09:30:47

标签: python django authentication

我正在创建一个具有某些权限的自定义组

//创建新组

new_group, created = Group.objects.get_or_create(name='AdminGroup')
ct = ContentType.objects.get_for_model(User)

//添加新群组的权限

p3 = Permission.objects.create(
    codename='DELETE', name='can_Delete', content_type=ct)
new_group.permissions.add(p3)

现在我想检查用户是否拥有此权限

user_right = request.user.has_perm('can_Delete')
print(user_right)

这个印刷品让我虚假。怎么??

当然,我将此群组添加到用户中

g = Group.objects.get(name='AdminGroup')
request.user.groups.add(g)

另一件事, 我在管理面板组中检查了这个已成功分配权限

有人可以向我解释  这是怎么回事?

1 个答案:

答案 0 :(得分:1)

我认为您需要在访问权限之前添加User表(我们的models.py中的类或直接auth_user表)。如果您使用了auth_user表,请确保在settings.py中添加了身份验证后端。

user_right = request.user.has_perm('User.can_Delete')

让我知道它是否有效。