权限问题3d
1.models.pyblog
2.用户类型:继承
3.views.py: get
假设订单相关业务(只有SVIP用户有权限)源码
假设用户信息相关业务(只有普通用户、VIP有权限)io
4.运行结果:配置
基本使用model
以上的权限代码封装到一个类中,之后各个视图的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.为了让咱们的权限更正规,必须继承该内置权限。