权限问题
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.为了让我们的权限更正规,必须继承该内置权限。