【问题标题】:How to display django roles and permissions in a custom dashboard如何在自定义仪表板中显示 django 角色和权限
【发布时间】:2021-11-18 09:15:47
【问题描述】:

我试图在我的自定义管理仪表板(不是 django 管理员)中拥有角色、组和权限,以便分配角色、组和权限。权限的 django 管理页面如下图所示。我想在我的模板中拥有完全相同的权限。

在其他框架(如 laravel)中,他们使用 Spatie 包完美地完成了它。在 Django 中是否也有类似的包,或者我必须自己编写每一个逻辑。或者更好的是,我可以查询 Django-admin 权限和组并将它们显示在我的自定义管理仪表板模板中。

【问题讨论】:

    标签: python django django-rest-framework django-views django-templates


    【解决方案1】:

    可以导入Django权限和组模型:

    from django.contrib.auth.models import Permission, Group
    

    它们和其他任何模型一样都是普通模型,因此您可以查询它们:

    Permission.objects.all()
    

    您还可以创建其他权限:

    from myapp.models import BlogPost
    from django.contrib.auth.models import Permission
    from django.contrib.contenttypes.models import ContentType
    
    content_type = ContentType.objects.get_for_model(BlogPost)
    permission = Permission.objects.create(
        codename='can_publish',
        name='Can Publish Posts',
        content_type=content_type,
    )
    

    您需要做的就是为列出、添加和您可能需要的任何其他要求创建端点。

    更多关于 Django 文档:Programmatically creating permissions

    【讨论】:

    • 太棒了。这对我来说是一个好的开始。此外,您能否添加任何资源或教程来指导我实现完整的角色权限仪表板?我有点卡住了怎么做
    • 我认为您找不到很多针对此特定用例的教程。这只是您必须创建的另一个 API。看看 DRF:django-rest-framework.org
    • 非常感谢您的帮助
    猜你喜欢
    • 2012-11-08
    • 1970-01-01
    • 2021-11-01
    • 2021-06-24
    • 2013-09-03
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 2021-11-26
    相关资源
    最近更新 更多