【问题标题】:How can I create permission to 'is_staff' in Django?如何在 Django 中创建对“is_staff”的权限?
【发布时间】:2021-04-06 14:26:34
【问题描述】:

我有两种常规类型的管理员访问权限 - 一种是“is_staff”,另一种是“is_staff”和“is_superuser”。超级用户很好,我可以让管理员访问任何内容,但我希望具有“is_staff”标志的用户自动拥有一些权限,而无需添加它们。我怎样才能做到这一点?我应该创建一个单独的组,一旦这个人有'is_staff'标志就会自动添加?或者我可以将一些权限自动附加到“is_staff”组吗?

【问题讨论】:

  • 您打算在哪里为这些用户设置is_staff 标志?

标签: django django-admin


【解决方案1】:

您将考虑为具有积极is_staff 属性的用户创建一个具有权限的组。添加到此组的任何用户都将自动继承授予该组的权限。

要自动将用户添加到该组 - 使用 Django Signals。这是您将要查看的内容的一个小示例:

@receiver(post_save, sender=User)
def assign_group(sender, instance, created=False, **kwargs):
    if created and instance.is_staff:
    # add instance to the group (if is_staff is true and it is a new entry)

链接:https://docs.djangoproject.com/en/3.1/topics/signals/

【讨论】:

    猜你喜欢
    • 2011-08-15
    • 2013-09-18
    • 1970-01-01
    • 2018-01-31
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 2019-03-17
    • 2013-11-20
    相关资源
    最近更新 更多