这是一个为Django的auth应用提供通用对象级权限的Django应用。
项目描述
这是一个用于对象级权限的Django应用,包含一系列用于创建自定义权限检查的帮助器。
django-authority 的主要网站是 django-authority.readthedocs.org。您还可以使用 pip install django-authority==dev 或 easy_install django-authority==dev 安装 django-authority 的开发版本。
示例
要运行示例项目,请执行以下操作:
通过在虚拟环境中运行来初始化环境
pip install Django pip install -e .
同步数据库
python example/manage.py migrate
运行开发服务器并访问 http://127.0.0.1:8000/admin/ 的管理界面
python example/manage.py runserver
现在创建一个 flatage 并打开它,看看一些模板标签的实际应用。不要犹豫,使用管理界面来编辑权限对象。
请使用 https://github.com/jazzband/django-authority/issues/ 报告问题和错误。
文档
文档目前正在开发中。您可以使用 setup.py 创建一个看起来很好的 html 版本。
python setup.py build_sphinx
变更日志
0.14 (2020-02-07):
添加 Django 2.2 支持
添加 Python 3.7 支持
测试工具的各种修复。
使用 Django 自己的自动加载权限模块的方法。
修复了有关多年前已删除的方法的 Django 管理不兼容性问题。
删除了未使用的兼容性代码。
修复了 BasePermission.assign 的组权限。
0.13.1 (2018-01-28):
对文档和版本进行了轻微修复。
0.13 (2018-01-28):
添加了对 Django 1.11 的支持
停止支持 Python 3.3
修复了模板加载器的问题
0.12 (2017-01-10):
添加了对 Django 1.10 的支持
0.11 (2016-07-17):
添加迁移以支持 Django 1.8
停止支持 Django 1.7 及以下版本
删除 SQL 迁移文件
文档更新
修复了 linter 问题
0.10 (2015-12-14):
修复了 BasePermissionForm 和 django 1.8 的问题
0.9 (2015-11-11):
添加了对 Django 1.7 和 1.8 的支持
停止支持 Django 1.3
0.8 (2013-12-20):
添加了对 Django 1.6 的支持
0.7 (2013-07-03):
不再进行依赖子查询。在一般情况下,执行两个小查询比执行一个包含依赖子查询的查询要快。
0.6 (2013-06-13):
添加了对自定义用户模型的支持(仅限 Django 1.5)。
0.5 (2013-03-18):
现在可以通过缓存权限查询的结果来最小化使用 django-authority 时的查询次数。这可以通过将 AUTHORITY_USE_SMART_CACHE = True 添加到您的 settings.py 文件中来实现。
确认了对所有 Python 2.6、Python 2.7 和 Django 1.3、Django 1.4、Django 1.5 组合的支持(通过 travis ci)。为 Django 1.5 添加了 Python 3.3 支持。
0.4 (2010-01-15):
修复了 UserPermissionForm 无法覆盖用户字段小部件的问题。
在 add_permission 视图中添加了覆盖表单类的功能。
添加了通过权限实例分配权限的简单方法,例如:
from django.contrib.auth.models import User from mysite.articles.permissions import ArticlePermission bob = User.objects.get(username='bob') article_permission = ArticlePermission(bob) article_permission.assign(content_object=article)
0.3 (2009-07-28):
本版本添加了多个字段到权限模型中,因此是一个 向后不兼容 的更新。
这是为了添加一个功能,允许用户请求、撤回、拒绝和批准权限。现在保存了请求和批准日期,以及一个 approved 属性。添加了一个批量批准的管理操作。
要迁移现有数据,您可以使用源代码中包含的 SQL 文件(migrations/),目前适用于 MySQL、Postgres 和 SQLite。
模板标签也已经重构,以便更容易定制,这需要更改模板标签签名
旧版
{% permission_form flatpage %} {% permission_form flatpage "flatpage_permission.top_secret" %} {% permission_form OBJ PERMISSION_LABEL.CHECK_NAME %}
新版本
{% permission_form for flatpage %} {% permission_form for flatpage using "flatpage_permission.top_secret" %} {% permission_form for OBJ using PERMISSION_LABEL.CHECK_NAME [with TEMPLATE] %}
新模板标签
permission_request_form
get_permission_request
get_permission_requests
permission_request_approve_link
permission_request_delete_link
request_url_for_obj
现在可以通过GET请求访问 add_permission 视图,可以请求权限,也可以添加它们(仅限于拥有‘authority.add_permission’ Django权限的用户)。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。