当前位置: 首页 > 工具软件 > Guardian > 使用案例 >

django-guardian基础教程一

马冯浩
2023-12-01


前言

Django默认提供的权限控制是基于模型级的,但是如果一个系统对于权限的控制比较复杂,模型级的权限控制是不满足需求的。django-guardian弥补了Django的权限控制的不足,它是基于对象级的权限控制,可能把权限控制得更加细致,从而应对复杂的系统。


一、django-guardian是什么?

Django默认提供的权限控制方式是基于模型级,而django-guardian提供了对象级的权限控制。

二、使用步骤

1.安装

pip install django-guardian

2.配置

在Django项目的settings.py文件的INSTALLED_APPS添加guardian

INSTALLED_APPS = (
 ...
 'guardian',
)

AUTHENTICATION_BACKENDS 中添加guardian.backends.ObjectPermissionBackend

AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.ModelBackend', # default
    'guardian.backends.ObjectPermissionBackend',
)

如果找不到AUTHENTICATION_BACKENDS ,可以把上面的代码直接复制到settings.py文件中。

执行迁移文件:

python manage.py migrate

执行结束后,刷新数据库,数据库中增加了两个表:

guardian_groupobjectpermission
guardian_userobjectpermission

从表名看得出,guardian_groupobjectpermission是记录用户组的相关对象的权限,guardian_userobjectpermission是记录用户的相关对象的权限。


总结

本期文章只是简单介绍了django-guardian以及配置,下一期将开始正式介绍其用法。

 类似资料: