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

  • 相关阅读:
    219. Contains Duplicate II
    189. Rotate Array
    169. Majority Element
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    119. Pascal's Triangle II
    118. Pascal's Triangle
    88. Merge Sorted Array
    53. Maximum Subarray
    CodeForces 359D Pair of Numbers (暴力)
  • 原文地址:https://www.cnblogs.com/aaronthon/p/9254550.html
Copyright © 2011-2022 走看看