rest_framework之权限源码剖析
权限问题 1.models.py 2.用户类型: 3.views.py: 假设订单相关业务(只有SVIP用户有权限) 假设用户信息相关业务(只有普通用户、VIP有权限) 4.运行结果: 基本使用 以上的权限代码封装到一个类中,以后各个视图的get请求直接调用即可。不用每个类都写一遍权限。 自定义权限类: 需要找到has_permission方法 0.看源码: 1. 2. 3.复制源码has_permission方法 4.继续定义权限类:has_permission方法返回True表示有权访问。 5.定义好了权限类,局部使用。 局部权限 6.运行结果 7.再定义一个权限,除SVIP以外,其他用户都能访问。 8.将全权都放到另一个单独的文件中。 然后视图文件需要则引入。 views.py应用即可 以上的单视图应用。全局使用怎么办呢? 全局权限 1.权限源码流程: 还是到复制源码has_permission方法这一步骤 局部配置 permission.py 全局配置 settings.py 继续看源码: 每一个权限都有该方法 has_permission 如果返回Fasle,则执行报错,抛出异常。 抛出异常 默认英文报错 运行结果 如何改成中文报错信息呢? 运行结果 内置权限 1.内置权限源码流程 2.为了让我们的权限更正规,必须继承该内置权限。 来源: https://www