如何控制用户访问我的数据?

时间:2015-08-17 10:25:44

标签: python django django-models

我有这样的模型

class MyClass(models.Model):
    id = models.IntegerField(primary_key=True)
    class_name = models.CharField(max_length=100)
    class_code = models.CharField(max_length=100)
    cost_code =  models.CharField(max_length=100)
    total_cost = models.IntegerField()

def  __unicode__(self):
    return self.class_name

现在,如果管理员呼叫我需要显示所有细节,如果班级老师呼叫我需要只显示特定班级的详细信息。在这里我如何创建视图并控制它?提前谢谢!

3 个答案:

答案 0 :(得分:2)

Django拥有出色的完整权限系统。阅读文档here

一个简单的例子是,创建用户组,为组分配相关权限,然后将用户添加到这些组。这可以通过管理员轻松完成。然后,要检查权限,请使用用户的帮助方法,如user.has_perm('foo.add_bar')或装饰器查看。

答案 1 :(得分:1)

您需要QuerySet Managers才能执行此任务。完整的文档here

答案 2 :(得分:1)

您可以使用decorator手动管理它。确定用户是否有权查看视图。

如果您的qustion与将某些数据限制为特定类型的用户有关,请查看user_passes_test

了解更多here