django-guardian
核心内容总结:
django-guardian 是 Django 的一个扩展库,用于实现 基于对象的权限控制,允许对 Django 模型的单个实例(而非全局)设置细粒度权限。
主要功能:
- 支持通过
assign_perm为用户或组分配针对特定对象的权限。 - 与 Django Admin 集成,通过继承
GuardedModelAdmin实现对象权限管理界面。 - 支持与第三方工具(如
django-unfold)的兼容性。
使用方法:
- 安装:通过
pip install django-guardian或包管理工具(如uv/poetry)安装。 - 配置:将
guardian添加到INSTALLED_APPS,并在AUTHENTICATION_BACKENDS中注册ObjectPermissionBackend,然后运行migrate创建数据库表。 - 使用:通过
assign_perm为用户分配对象权限,例如assign_perm('change_group', user, obj=group)。
主要特性:
- 提供高覆盖率(97.6%)的单元测试。
- 支持 Django 多个版本(Python 3.x)。
- 文档完善,包含实际项目使用案例。