Django身份验证和授权工具
项目描述
Django身份验证和授权工具。
安装
pip install django-auth-utils
支持并测试于
Python: 2.7, 3.4, 3.5, 3.6, PyPy, PyPy3
Django: 1.8, 1.10, 1.11
配置
为了使用auth_utils模板标签库,将auth_utils添加到您的INSTALLED_APPS。
或者,从Django 1.9开始,您可以将auth_utils.templatetags.auth_utils添加到您的DjangoTemplates OPTIONS。
使用
权限检查视图
ObjectPermissionRequiredMixin视图结合了Django的PermissionRequiredMixin和SingleObjectMixin视图,并针对查找的对象执行权限检查。
像基类一样使用它
from auth_utils.views import ObjectPermissionRequiredMixin
class ArticleDetail(ObjectPermissionRequiredMixin, generic.DetailView):
model = Article
permission_required = ['news.read_article']
class ArticleUpdate(ObjectPermissionRequiredMixin, generic.UpdateView):
model = Article
permission_required = ['news.change_article']
模板中的权限检查
加载模板标签库
{% load auth_utils %}
perms过滤器允许使用方便的语法检查对象级别权限
{% if perm in user|perms:object %} ... {% endif %}
object参数是可选的。如果省略,则检查全局权限,类似于Django的perms对象。
示例
{% if 'news.read_article' in user|perms:article %}
{{ article.text }}
{% else %}
You do not have permission to read this article.
{% endif %}
{% if 'news.change_article' in user|perms:article %}
<a href="...">Edit article</a>
{% endif %}
{% if 'news.delete_article' in user|perms:article %}
<a href="...">Delete article</a>
{% endif %}
该库提供了 can_change 和 can_delete 简写,用于检查Django的默认 app.change_model 和 app.delete_model 模型权限。
{% if user|can_change:article %} <a href="...">Edit</a> {% endif %}
{% if user|can_delete:article %} <a href="...">Delete</a> {% endif %}
项目详情
关闭
django-auth-utils-0.1.1.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 735cee46eef1ad82e43394d405f4fe678e2af9123cd7f270ce07d0615330e51a |
|
MD5 | 6a6539f83f9cf8f8509777ada88fa382 |
|
BLAKE2b-256 | 3cacff3c6ed433ea5d8b85f686c09ece258020d022a84b069c08cdefd43b9434 |
关闭
django_auth_utils-0.1.1-py2.py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0064eea83a530da6d89adbc84b4e357c82eef6086ce620028e977918d530dcf7 |
|
MD5 | eacfe7ea870ef027851f9d2d693de794 |
|
BLAKE2b-256 | c9ce830e1f303440c4d17987462591758d60a75d685f9e8a40d3ac053154781f |