为IScore库烫发

django-fperms-iscore的Python项目详细描述


https://badge.fury.io/py/django-fperms-iscore.svghttps://travis-ci.org/Formulka/django-fperms-iscore.svg?branch=masterhttps://codecov.io/gh/Formulka/django-fperms-iscore/branch/master/graph/badge.svg

为IScore库烫发

文件

完整的文档位于https://django-perms-iscore.readthedocs.io

快速启动

安装django fperms iscore:

pip install django-fperms-iscore

将其添加到已安装的应用程序中:

INSTALLED_APPS=(...'fperms_iscore.apps.FPermsConfig',...)

它包含来自http://github.com/formulka/django-fperms的所有基本权限,并添加一个新类型:

  • core:对于IScore特定资源

用法

超级用户拥有做任何事情的意图和目的的权限。对于普通用户,可以直接或通过用户组分配权限。

创建新权限

您可以直接通过其模型或特殊格式的字符串创建新权限:

fromfperms_iscoreimportenumsfromfperms_iscore.modelsimportIsCorePermIsCorePerm.objects.create(type=enums.PERM_TYPE_CORE,codename='create',core='issue_tracker.IssueIsCore',)IsCorePerm.objects.create_from_str('core.issue_tracker.IssueIsCore.create')

分配权限

可以通过自定义的^ {TT1}$Manager为用户(包括自定义的)和组模型分配现有权限。您可以直接通过其实例或使用格式化的字符串来添加单个或多个权限:

fromdjango.auth.modelsimportUser,Groupfromfperms_iscore.modelsimportIsCorePermperm=IsCorePerm.objects.create_from_str('core.issue_tracker.IssueIsCore.create')user=User.objects.get(pk=1)user.perms.add_perm(perm)group=Group.objects.get(pk=1)group.perms.add_perm('core.issue_tracker.IssueIsCore.create')

默认情况下,如果该权限不存在,它将引发异常。您可以通过将项目设置中的^ TT2}$变量设置为{TT3}$来覆盖此行为,如果不存在,则指定权限也将创建它。

检索权限实例

可以直接从模型或通过字符串表示获取权限实例。

perm=IsCorePerm.objects.get(type=enums.PERM_TYPE_CORE,codename='create',core='issue_tracker.IssueIsCore',)perm=IsCorePerm.objects.get_from_str('core.issue_tracker.IssueIsCore.create')

检查权限

您可以使用权限实例或字符串表示再次通过perms管理器的has_perm方法检查用户或组是否具有所需的权限。

...perm=IsCorePerm.objects.create(type=enums.PERM_TYPE_CORE,codename='create',core='issue_tracker.IssueIsCore',)assertuser.perms.has_perm(perm)assertuser.perms.has_perm('core.issue_tracker.IssueIsCore.create')

新烫发类型

core

  • IScore特定资源的权限
  • 类型定义为fperms_iscore.enums.PERM_TYPE_CORE
  • 代码名通常是CRUD操作之一(创建、读取、更新、删除)
  • 它需要typecodenamecore字段
  • 字符串表示是'core.<app_label>.<core_name>.<codename>'
...# equivalent results:IsCorePerm.objects.create(type=enums.PERM_TYPE_CORE,codename='create',core='issue_tracker.IssueIsCore',)IsCorePerm.objects.create_from_str('core.issue_tracker.IssueIsCore.create')

运行测试

代码真的有用吗?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

运行测试

代码真的有用吗?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

学分

用于呈现此包的工具:

历史记录

0.1.0(2018-03-13)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何修复尝试将用户签名到服务器主机时出现的“字符串无法转换为json对象”错误?   控制台Java:不使用新行更新命令行中的文本   java servlet接收xml数据时,出现错误   使用REST API在Bitbucket中复制或复制存储库   java如何在JavaFX中对齐一行?   java如何在活动中显示通过服务获得的数据?   返回BigDecimal作为字符串:返回int   java组织。openqa。硒。InvalidSelectorException:尝试查找元素时选择器无效   java仅在阻塞状态下通知和通知所有影响线程   java JBOSS无法启动部署   java方法的返回值能保证类型安全吗?   JavaeShadoop序列化组织。阿帕奇。hadoop。木卫一。短写失败   java如果我在同一个类上同步了两个方法,它们能同时运行吗?   不使用java数据库的spring分页实现   java如何将字符串切碎成这样的数组?