zoukankan      html  css  js  c++  java
  • rest_framework之权限详解 02

    权限问题

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

  • 相关阅读:
    LA 3135 优先队列
    uva 11991 查询中容器的运用
    uva 11995 判别数据类型
    LA 4973异面线段
    LA 2797 平面区域dfs
    LA 2218 半平面交
    poj 3525 求凸包的最大内切圆
    poj 1031 多边形对点(向周围发射光线)的覆盖
    poj 1269 直线间的关系
    kotlin学习笔记-异常好玩的list集合总结
  • 原文地址:https://www.cnblogs.com/aaronthon/p/9254550.html
Copyright © 2011-2022 走看看