如何限制我的学生进入django的教师区域?

时间:2019-08-03 13:08:56

标签: python django django-models django-forms django-permissions

我正在创建一个网站,其中有两种类型的用户,即学生和教师。我创建了一个注册和登录页面进行身份验证。现在,默认情况下,所有注册用户都是学生,可以访问视频,还可以访问教师区域(我在这里进行了编码)。

如果有人想在那里当老师,那么他们就必须提交文件。验证后,他们可以访问教师页面。问题是我不知道如何从管理面板手动授予这些用户授权,以便他们可以访问特定的(教师)页面?

我在Google上搜索了很多,但是不知道该怎么做。我的网站已经准备就绪,但是我不知道如何限制所有用户进入教师页面,并且在他们的文档验证后,如何授予访问教师页面的权限。

2 个答案:

答案 0 :(得分:1)

您可以创建自己的视图装饰器,以检查用户是否是组的成员

from django.contrib.auth.decorators import user_passes_test

def is_teacher(user):
    return user.groups.filter(name='Teacher').exists()

@user_passes_test(is_teacher)
def my_view(request)
    ...

Docs for user_passes_test

然后您要做的就是创建一个名称为“ Teacher”的网上论坛,并将老师添加到该网上论坛

答案 1 :(得分:0)

尝试使用内置用户模型中的is_staff字段。对于教师,将其设置为true,对于儿童,将其设置为false。在此基础上,决定赋予每个人的权利。希望对您有所帮助。