目录
一、BasePermission - 用于拦截请求,在视图函数钱执行相应权限认证方法
1-2 视图函数 - 需要权限验证的类 - permission_classes
1-3 序列类 - 作为数据返回的序列化 - ModelSerializer
一、BasePermission - 用于拦截请求,在视图函数钱执行相应权限认证方法
总结:
- 权限类
- 权限类必须单独存放在py文件内,若和view同一文件,则执行全局配时会出错
- 继承 BasePermission
- from rest_framework.permissions import BasePermission
- 设置无选线返回信息 message = '您没有权限查看' - 变量名必须为message
- 重写 has_permission 方法
- 验证成功与否,返回True or False
- 视图类
- 配置 permission_classes = [drfAuth.UserPermission, ] 作为局部认证
- choices优化
- 使用 get_字段名_display() -- 获取choices内对应字符串
1-1 drAuth.py - 权限类实现
from rest_framework.permissions import BasePermission class UserPermission(BasePermission): # 无权限的显示信息 message = '您没有权限查看' # 必须重写 has_permission def has_permission(self, request, view): user_type = request.user.user_type user_type_name = request.user.get_user_type_display() print(request.u