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