django权限系统实现步骤_Django中的权限系统

本文介绍了Django权限系统的实现步骤,包括在模型中添加权限规则、使用装饰器进行权限验证、定义权限匹配方法以及如何处理无权限的情况。通过示例详细解释了如何在views、urls和模板中配置权限系统,确保只有拥有相应权限的用户才能访问特定功能。
摘要由CSDN通过智能技术生成

Django中已经为我们设置好了基本的权限系统,在定义好model同步数据库后,在每个库下面都会有一张 'auth_permission' 表。该表里面记录了每条权限的描述(name字段,can do something,会显示在后台付权限的列表中)和名字(codename字段,代码逻辑中检查权限使用,该字段会在权限验证函数perm_check中被 'request.user.has_perm' 方法调用,来判断是否通过验证。)

权限系统的基本逻辑流程:

1、用户发起操作请求时,根据url匹配到相应的试图函数处理(返回相关信息)

2、在给用户返回信息之前,首先验证该用户是否有权限查看所请求的信息(装饰器)

3、装饰器函数中,通过监测用户http请求的url、method和参数来确定权限

4、若验证通过,返回查询信息(执行被装饰器装饰的函数)。若验证不通过,返回 403 页面

1、在每个给前端返回信息的views函数上添加装饰器,

from permissions importcheck_permission #导入方法

@check_permission #向前段页面返回客户信息时,先执行装饰器方法,验证是否有权限defcustomer(request):

,,,

@check_permission

def customer_info(request,customer_id):

,,,

2、model中添加规则(数据库中添加权限纪录)

classUserProfile(models.Mo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值