项目概述
Per object permissions for Django
项目地址
https://github.com/django-guardian/django-guardian
项目页面预览
关键指标
- Stars:3872
- 主要语言:Python
- License:Other
- 最近更新:2026-01-14T09:47:47Z
- 默认分支:main
本站高速下载(国内可用)
点击下载(本站镜像)
– SHA256:9372f717f8138db97d2f07b87d78004c731026723d8a61bef861174ef781f784
安装部署要点(README 精选)
Installation
To install django-guardian into your project run:
uv add django-guardian
TIP: Not using a package manager like
uvorpoetryfor your django project? You probably should try them :). In the meantime,pip install django-guardianworks just fine too.
Configuration
We need to hook django-guardian into our project.
- Put
guardianinto yourINSTALLED_APPSat settings module:
INSTALLED_APPS = (
...
'guardian',
)
- Add extra authorization backend to your
settings.py:
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'guardian.backends.ObjectPermissionBackend',
)
- Create
guardiandatabase tables by running:
python manage.py migrate
Usage
After installation and project hooks we can finally use object permissions
with Django.
Lets start really quickly:
>>> from django.contrib.auth.models import User, Group
>>> jack = User.objects.create_user('jack', 'jack@example.com', 'topsecretagentjack')
>>> admins = Group.objects.create(name='admins')
>>> jack.has_perm('change_group', admins)
False
>>> from guardian.shortcuts import assign_perm
>>> assign_perm('change_group', jack, obj=admins)
<UserObjectPermission: admins | jack | change_group>
>>> jack.has_perm('change_group', admins)
True
Of course our agent jack here would not be able to change_group globally:
>>> jack.has_perm('change_group')
False
常用命令(从 README 提取)
uv add django-guardian
python manage.py migrate
通用部署说明
- 下载源码并阅读 README
- 安装依赖(pip/npm/yarn 等)
- 配置环境变量(API Key、模型路径、数据库等)
- 启动服务并测试访问
- 上线建议:Nginx 反代 + HTTPS + 进程守护(systemd / pm2)
免责声明与版权说明
本文仅做开源项目整理与教程索引,源码版权归原作者所有,请遵循对应 License 合规使用。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END








暂无评论内容