[TOC] 一.DRF中的Request 在Django REST Framework中内置的Request类扩展了Django中的Request类, 实现了很多方便的功能 如请求数据解析和认证等. 比如, 区别于Django中的request: 从 中获取URL参数, 从 中去取某些情况下的POS ...
分类:
其他好文 时间:
2019-10-08 12:34:18
阅读次数:
79
版本 新建一个工程Myproject和一个app名为api (1)api/models.py (2)Myproject/urls.py (3)api/urls.py (4)views.py (5)settings.py 1.url中通过GET传参 后台可以看到当前的版本 如果url中没有传版本参数, ...
分类:
其他好文 时间:
2019-10-07 13:30:18
阅读次数:
74
(1)api/urls.py (2)views.py (3)通过postman发送Json数据 在后台可以获取发过来的Json数据 源码流程 (1)dispatch (2)initialize_request 获取所有解析器 (3)get_parsers (4)parser_classes 同样我们 ...
分类:
其他好文 时间:
2019-10-07 13:15:32
阅读次数:
64
添加节流 自定义节流的方法 限制60s内只能访问3次 (1)API文件夹下面新建throttle.py,代码如下: (2)settings中全局配置节流 (3)现在访问auth看看结果: 60s内访问次数超过三次,会限制访问 提示剩余多少时间可以访问 节流源码分析 (1)dispatch (2)in ...
分类:
其他好文 时间:
2019-10-07 11:38:44
阅读次数:
76
添加权限 (1)API/utils文件夹下新建premission.py文件,代码如下: message是当没有权限时,提示的信息 (2)settings.py全局配置权限 (3)views.py添加权限 默认所有的业务都需要SVIP权限才能访问 OrderView类里面没写表示使用全局配置的SVI ...
分类:
其他好文 时间:
2019-10-07 11:18:51
阅读次数:
83
一、基础 1.1安装 pip直接安装 1.2.需要先了解的一些知识 理解下面两个知识点非常重要,django-rest-framework源码中到处都是基于CBV和面向对象的封装 (1)面向对象封装的两大特性 (2)CBV 基于反射实现根据请求方式不同,执行不同的方法 原理:url-->view方法 ...
分类:
其他好文 时间:
2019-10-07 09:27:01
阅读次数:
76
一、默认response http://127.0.0.1:8000/api/asset/idcall/?format=json 二、自定义response 实际开发中我们需要返回更多的字段比如 这时候就需要重写list方法 PS: Python 3.7.4 djangorestframework ...
分类:
其他好文 时间:
2019-10-05 20:47:31
阅读次数:
267
权限控制是如何实现的? 一般来说,先有认证才有权限,也就是用户登录后才能判断其权限,未登录用户给他一个默认权限。 Django接收到一个请求,首先经过权限的检查,如果通过检查,拥有访问的权限,则予以放行,进入到视图处理。如果没有通过检查,不会进入视图层,直接返回前端相应信息。 使用权限控制 权限控制 ...
分类:
其他好文 时间:
2019-09-29 21:49:21
阅读次数:
115
开放平台的API接口调用需要限制其频率,以节约服务器资源和避免恶意的频繁调用 使用 自定义频率限制组件:utils/thottle.py views.py allow_request() 方法内定义频率控制的实现 wait() 方法的返回值代表了距离下次允许访问还剩多久,单位:秒 全局使用 同样,需 ...
分类:
其他好文 时间:
2019-09-28 17:47:30
阅读次数:
96
一,Models.py中,ForeignKey记得要有related_name属性,已实现关联对象反向引用。 二,Settings.py文件中,加入对Django REST framework的基本设置。 三,将变化合并入数据库。 四,为数据库中已有的用户生成token。 进入python mana ...
分类:
其他好文 时间:
2019-09-22 19:59:20
阅读次数:
105