摘要:
rbac:基于角色的权限访问控制(Role-Based Access Control)。 rbac的主要流程:给每个角色赋予不同的权限,是这个角色的员工都有这个角色的所有权限。一个角色可以有多个人员担任,一个员工可以担任多个角色(比如部门经理、业务员等)。当员工成功登陆系统时,系统需要获取这个员工的 阅读全文
摘要:
拿到所有的角色数据 1.urls.py 2.models.py 假设只有3个角色 3.views.py from api import models import json json只能序列化python的基本数据类型 QueryDict是django定义的类 所以以下这种操作会报错 4.解决方案: 阅读全文
摘要:
解析器就是服务端写api,对于前端用户发来的数据进行解析。解析完之后拿到自己能用数据。 本质就是对请求体中的数据进行解析。 django的解析器 post请求过来之后,django 的request.body一定有值,request.post不一定有值。如果想让request.post有值,必须转为 阅读全文
摘要:
访问不同版本,给不同内容。 rest规范:版本要么放url上;要么放请求头里。 1.原来的url的版本都写死了。只能写v1 2.创建一个django项目。 models.py:用户表、用户token表、用户分组、角色表 (结构的不同,序列化的方法也不一样。) 关系:用户表于用户token表 (1对1 阅读全文
摘要:
访问频率(节流) 1.某个用户一分钟之内访问的次数不能超过3次,超过3次则不能访问了,需要等待,过段时间才能再访问。 2.自定义访问频率。两个方法都必须写上。 登入页面的视图加上访问频率 3.返回值False,则不能访问 4.返回值True,则能访问 上面的节流太简单粗暴了,接下来加上一些判断。先获 阅读全文
摘要:
权限问题 1.models.py 2.用户类型: 3.views.py: 假设订单相关业务(只有SVIP用户有权限) 假设用户信息相关业务(只有普通用户、VIP有权限) 4.运行结果: 基本使用 以上的权限代码封装到一个类中,以后各个视图的get请求直接调用即可。不用每个类都写一遍权限。 自定义权限 阅读全文
摘要:
如果我们写API有人能访问,有人不能访问,则需要些认证。 如何知道该用户是否已登入? 如果用户登入成功,则给用户一个随机字符串,去访问另一个页面。 以前写session的时候,都是把session写cookie里面。 那现在我们可以把随机字符串通过返回值的方式给用户。 后端通过查看用户的url判断用 阅读全文
摘要:
(一)接口开发方式比较 1.1 缺点:如果有10张表,则需要40个url. urls.py views.py 缺点:如果有10张表,则需要40个url. 接下来就出现了resrful 规范,比较简洁 1.2:resrful 规范(建议) url简洁了,只有一条。 1.2.1. 根据method不同做 阅读全文
摘要:
1、settings.py没有注释到csrf。当post请求的方式会报错。 接下来就解决问题! 1.FBV:情况一:csrf打开,个别不需要csrf认证。在方法的上方加@csrf_exempt 。这是全局使用csrf。 2.FBV:情况二:csrf注释,个别需要csrf认证。加@csrf_prote 阅读全文
摘要:
CBV是基于反射实现根据请求方式不同,执行不同的方法。 请求流程:view源码解析 1.urls.py :请求一定来执行视图下的as_view方法。也可以直接点击as_view()来找源码。 2.views.py 视图内没有as_view方法,则找父级的as_view方法。 3.源码:as_view 阅读全文