【问题标题】:Django: Group based permissions example / docs?Django:基于组的权限示例/文档?
【发布时间】:2011-01-18 12:16:51
【问题描述】:

能否有好心人指出一些关于使用 Django 设置基于组的权限的优秀文档或代码示例?我的要求相当简单——我只需要根据用户所属的组启用/禁用功能。

【问题讨论】:

    标签: django permissions authorization


    【解决方案1】:

    这是一个基本的例子。

    见:http://www.thinkjson.com/group-permissions-in-django/

    首先,假设您有一个名为 Report 的模型。

    class Report(models.Model):
        name = models.CharField(max_length=100)
        contents = models.TextField(blank=True)
        authorized_groups = models.ManyToManyField('ReportGroup', null=True, blank=True, related_name='report_groups')    
        def __str__(self):
            return self.name
    

    您可以为 User 模型创建一个中间模型来处理组权限:

    class ReportGroup(models.Model):
        name = models.CharField(max_length=100)
        authorized_users = models.ManyToManyField(User, null=True, blank=True, related_name='report_users')
        def __str__(self):
            return self.name
    

    现在,当您在 Django 管理员中编辑报告时,您可以为报告分配组权限。这些组可以在 Django 管理员中作为报告组进行管理,让您一次性选择属于某个组的人。

    【讨论】:

      猜你喜欢
      • 2011-03-26
      • 2019-06-12
      • 2019-03-24
      • 1970-01-01
      • 2019-03-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多