django 权限管理菜单(django用户权限管理)
一. django用户、权限存储在django.contrib.auth.models 导入命令:,今天小编就来聊一聊关于django 权限管理菜单?接下来我们就一起去研究一下吧!
django 权限管理菜单
一. django用户、权限存储在django.contrib.auth.models 导入命令:
from django.contrib.auth.models import Users, Permission
二.在模型中创建权限,即在模型元类中定义属性permissions
class model1(models.Model):
......
class Meta:
permissions = (
('can_read_model1', '可以阅读模型1'),
)
三. 在视图中操作Permission创建权限
#导入权限模型
from django.contrib.auth.models import Permission
#导入权限对应的内容类型模型
from django.contrib.contenttypes.models import ContentType
#导入需要创建权限的模型
from ddgj.models import DD
#导入视图函数响应函数
from django.http import HttpResponse
#定义视图函数
def view1(request):
#在ContentType模型中查找DD模型的ID
dd_content_type = ContentType.objects.get_for_model(DD)
#在Permission中为DD模型创建权限
Permission.objects.create(
codename='can_see_order',
name='可以查看个人订单',
content_type=dd
)
return HttpResponse("订单模型'可查看个人订单创建成功")
四. 权限创建成功后,即可在后台管理admin中的用户模型中为用户添加权限了。
五. 获取用户的所有权限
request.user.get_all_permissions()
六. 判断用户是否拥有某种权限
request.user.has_perm('ddgj.add_dd) #当前登录用户是否有ddgj应用中"add_dd"权限
七. 利用装饰器快捷对用户进行权限检验
# 导入权限检验装饰器函数
from django.contrib.auth.decorators import permission_required
#应用装饰器
@permission_required('ddgj.can_see_orde', login_url='/')
def view1(models.Model):
pass
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com