Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何控制用户访问我的数据?_Python_Django_Django Models - Fatal编程技术网

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

Python 如何控制用户访问我的数据?,python,django,django-models,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

我有一个这样的模型

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

现在,如果管理员打电话给我,我需要显示所有细节,如果班主任打电话给我,我只需要显示特定的课堂细节。这里我如何创建视图和控制它?提前谢谢

Django拥有完善的许可系统。阅读文档


一个简单的例子是,创建用户组,为组分配相关权限,然后将用户添加到这些组中。这可以很容易地从管理员完成。然后,要检查权限,请在user上使用helper方法,如
user.has\u perm('foo.add\u bar')
或视图的装饰器。

Django有一个完善的权限系统。阅读文档


一个简单的例子是,创建用户组,为组分配相关权限,然后将用户添加到这些组中。这可以很容易地从管理员完成。然后,要检查权限,请使用user上的helper方法,如
user.has\u perm('foo.add\u bar')
或视图的装饰器。

您需要
QuerySet管理器来执行此任务。提供了完整的文档

您需要
QuerySet管理员
来执行此任务。提供了完整的文档

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

如果您的问题即将涉及将某些数据限制为特定类型的用户,请查看
user\u passes\u test


阅读更多

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

如果您的问题即将涉及将某些数据限制为特定类型的用户,请查看
user\u passes\u test


阅读更多

了解python装饰程序。您可以在视图中而不是模型中为用户授予不同的权限。您可以使用基于函数的视图所需的decorator@login\u。查看python decorators。您可以在视图中而不是模型中为用户授予不同的权限。您可以使用基于函数的视图所需的decorator@login\u。