我理解基本的用户认证、登录、创建账户、扩展用户模型等内容...
我正在尝试创建一个教师和学生都可以登录的网站。教师将能够访问学生无法访问的页面,并有权发布作业等内容...
我认为可以通过以下方式实现:
- 在创建时将用户分配到特定组别。
- 使用装饰器来限制适当组别的访问权限。
.
@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
问题:
如何使用权限与上述方法有何不同?
权限可以如何使用,定义权限如何帮助我实现上述结果? (如果可能的话,应该使用吗?)