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

  • 相关阅读:
    项目中对axios进行二次封装
    vue对象数组数据变化,页面不渲染
    深拷贝和浅拷贝
    你说的都队-凡事预则立
    你说的都队——项目系统设计与数据库设计
    2020软件工程作业——团队04
    2020软件工程作业——团队03
    2020软件工程作业——团队02
    你说的都队——团队展示
    TCP协议
  • 原文地址:https://www.cnblogs.com/aaronthon/p/9254550.html
Copyright © 2011-2022 走看看