实现与模型无关的权限
django-global-permissions的Python项目详细描述
#django全局权限
[![构建状态](https://travis-ci.org/eduardo-matos/django-global-permissions.svg?branch=master)(https://travis ci.org/eduardo matos/django global permissions)
实现与模型无关的权限
\quickstart
`````
pip install django global permissions
```
如果要在管理界面中创建权限,请转到“全局权限”部分,然后单击“添加”。选择一个名称(应该是
可读的)、一个代码名(将在您的应用程序中使用),然后保存它。
打开“用户编辑”页并选择您刚刚创建的权限。
![](https://user images.githubusercontent.com/483681/33212448-58a39f36-d10a-11e7-88c9-332df034188c.gif)
只需导入'global permission`
模型并创建一个新的权限,选择名称和代码名。
``python
从全局权限中导入globalpermission
globalpermission.objects.create(name='my perm',codename='my'u perm')
```
假设您想验证登录的用户是否可以执行某些操作(基于权限)。
在您的视图中,如果user.has戥perm('global戥perm.my戥perm戥codename'):
pass戥do something有趣的操作!
否则:
通过操作,你不能这样做。对不起,如果你想检查模板中的权限,你可以这样做:
``htmldjango
{%if perms.global戋perms.my戋perm戋u codename%}
yay!
{%else%}
不太幸运…
{%endif%}
`````
下面的脚本可以做到这一点:
``python
from django.contrib.contenttypes.models import contenttype
````
django 1.7+需要进行此更改,以避免在运行迁移后提示您是否要删除过时的内容类型。
[![构建状态](https://travis-ci.org/eduardo-matos/django-global-permissions.svg?branch=master)(https://travis ci.org/eduardo matos/django global permissions)
实现与模型无关的权限
\quickstart
`````
pip install django global permissions
如果要在管理界面中创建权限,请转到“全局权限”部分,然后单击“添加”。选择一个名称(应该是
可读的)、一个代码名(将在您的应用程序中使用),然后保存它。
打开“用户编辑”页并选择您刚刚创建的权限。
![](https://user images.githubusercontent.com/483681/33212448-58a39f36-d10a-11e7-88c9-332df034188c.gif)
只需导入'global permission`
模型并创建一个新的权限,选择名称和代码名。
``python
从全局权限中导入globalpermission
globalpermission.objects.create(name='my perm',codename='my'u perm')
```
假设您想验证登录的用户是否可以执行某些操作(基于权限)。
在您的视图中,如果user.has戥perm('global戥perm.my戥perm戥codename'):
pass戥do something有趣的操作!
否则:
通过操作,你不能这样做。对不起,如果你想检查模板中的权限,你可以这样做:
``htmldjango
{%if perms.global戋perms.my戋perm戋u codename%}
yay!
{%else%}
不太幸运…
{%endif%}
`````
下面的脚本可以做到这一点:
``python
from django.contrib.contenttypes.models import contenttype
django 1.7+需要进行此更改,以避免在运行迁移后提示您是否要删除过时的内容类型。