如何在自定义仪表板中显示 django 角色和权限
Posted
技术标签:
【中文标题】如何在自定义仪表板中显示 django 角色和权限【英文标题】:How to display django roles and permissions in a custom dashboard 【发布时间】:2021-11-18 09:15:47 【问题描述】:我试图在我的自定义管理仪表板(不是 django 管理员)中拥有角色、组和权限,以便分配角色、组和权限。权限的 django 管理页面如下图所示。我想在我的模板中拥有完全相同的权限。
在其他框架(如 laravel)中,他们使用 Spatie 包完美地完成了它。在 Django 中是否也有类似的包,或者我必须自己编写每一个逻辑。或者更好的是,我可以查询 Django-admin 权限和组并将它们显示在我的自定义管理仪表板模板中。
【问题讨论】:
【参考方案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 非常感谢您的帮助以上是关于如何在自定义仪表板中显示 django 角色和权限的主要内容,如果未能解决你的问题,请参考以下文章