跳转到主要内容

这是一个为Django的auth应用提供通用对象级权限的Django应用。

项目描述

Jazzband https://travis-ci.org/jazzband/django-authority.svg?branch=master https://codecov.io/gh/jazzband/django-authority/branch/master/graph/badge.svg

这是一个用于对象级权限的Django应用,包含一系列用于创建自定义权限检查的帮助器。

django-authority 的主要网站是 django-authority.readthedocs.org。您还可以使用 pip install django-authority==deveasy_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权限的用户)。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

django-authority-0.14.tar.gz (152.8 kB 查看哈希值)

上传时间 源代码

构建发行版

django_authority-0.14-py2.py3-none-any.whl (32.6 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下提供支持