Django,基于视图的权限,类似于每个对象的权限

时间:2015-11-03 09:01:50

标签: django

我想以相同的方式实现基于视图的权限,因为应用了基于对象的权限。我知道当我有一个名为A的模型时,会创建三个权限can_add,can_edit,can_delete,它与A结合使用。现在,我可以拥有包含类似记录但基于视图的模型。那么,当我说can_view_login_page创建了一个权限记录,当我将它放在视图上方@method_decorator(permission_required('can_view_login_page'))时,它允许或拒绝基于角色/组的访问?我的问题可能听起来模糊,但我无法弄清楚如何把它。

1 个答案:

答案 0 :(得分:1)

它可能不是完全您正在寻找的内容,但有user_passes_test

您可以使用此方法装饰器检查用户是否具有正确的凭据以查看页面

from django.contrib.auth.decorators import user_passes_test

def can_view_login(user):
    return user.can_view_login

@user_passes_test(can_view_login)
def my_view(request):