具有decorators vs权限的Django用户组

2024-03-28 18:15:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我了解基本的用户身份验证、登录、创建帐户、扩展用户模型。。。

我试图创建一个网站,教师和学生可以登录。教师有权访问学生不能访问的网页,学生有权发布作业等。。。

我认为可以这样做:

  1. 创建时将用户分配给特定组。
  2. 使用decorators限制对适当组的访问。

是的。

@login_required
@user_passes_test(not_in_student_group, login_url='/login/')
def some_view(request):
    # ...

def not_in_student_group(user):
if user:
    return user.groups.filter(name='Student').count() == 0
return False

注:以上代码来自:

http://bradmontgomery.blogspot.com/2009/04/restricting-access-by-group-in-django.html

问题:

  1. 使用权限与上述方法有何不同?

  2. 如何使用权限,以及定义权限如何帮助我实现上述结果? (如果可以,是否应该使用?)


Tags: 用户in身份验证权限returndefgroupnot