![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Django rest framework
文章平均质量分 68
西北一条虫
QQ交流群:33314708
展开
-
django rest framework系列11-序列化基本使用
一、简单定义序列化:将数据库数据转化为前端需要格式(默认json)返回。 反序列化:将前端数据转化给模型类对象,保存到数据库中。二、序列化简单用法1、传统方式:from API import modelsclass RolesView(APIView): """" 角色表演示序列化 """ authentication_classes = [] parser_classes = [JSONParser, FormParser] def get原创 2021-02-07 00:03:07 · 155 阅读 · 0 评论 -
django rest framework系列10-解析器以及源码流程附加django解析器
一、Django解析器1、之前我们使用Django时用个request.body和request.POST.其实我们真正的请求体时再request.body中而request.POST数据其实是通过请求头转换而来。class OrderView(APIView): """ 订单相关业务 """ def post(self,request): ret = {'code': 1000, 'msg': 'POST和body'} prin原创 2021-02-04 20:37:07 · 135 阅读 · 0 评论 -
django rest framework系列09-基于请求参数或者url地址使用rest内置版本控制类流程
默认你已经看过前几片文章知道url处理开始先执行self.dispatch()。之前说过了3中认证,(用户认证,权限认证,访问频率认证)那么在这行代码前面:request.version, request.versioning_scheme = version, schemereque中还封装了一个version变量还有一个versioning_scheme。这个就是关于版本的入口。开始进入def initial(self, request, *args, **kwargs): ""原创 2021-01-13 23:46:24 · 392 阅读 · 0 评论 -
django rest framework系列08-基于IP和用户实现继承内置访问频率限制实现自定义访问频率控制
SimpleRateThrottle这个类写的其实挺完整了,我们继承他适当配置下就可以了def allow_request(self, request, view): """ Implement the check to see if the request should be throttled. On success calls `throttle_success`. On failure calls `throttle_failure`. """ .原创 2021-01-12 15:39:24 · 136 阅读 · 0 评论 -
django rest framework系列07-基于IP和用户实现自定义访问频率限制以及源码流程
1、已知rest framework中APIview继承与django的View,且url规则中使用as_view(),方法先执行的是self.dispatch()2、前面的用户认证,权限认证都是在执行完request封装后执行的self.initial(request, *args, **kwargs),那么可以先猜测下访问频率是不是self.check_throttles(request)如果不是也没关系,我们重写他也是可以让他是的嘛! def initial(self, reque原创 2021-01-12 14:44:39 · 237 阅读 · 0 评论 -
django rest framework系列06-基于Token认证之权限管理基本使用及代码流程
1、认证是确定用户是否登录,权限就是根据用户判断所拥有的权限:class UserInfo(models.Model): user_type_choices =( (1,'普通用户'), (2,'VIP用户'), (3,'SVIP用户'), ) user_type = models.CharField(max_length=2,choices=user_type_choices) #用户类型 username = mod原创 2021-01-09 14:15:30 · 172 阅读 · 3 评论 -
django rest framework系列05-基于代码详细流程之修改默认配置文件自定义认证到配置文件
已知:authentication_classes = api_settings.DEFAULT_AUTHENTICATION_CLASSES我们知道,rest framework 中认证authentication_classes类是在配置文件中,那么我们也可以把自己写的类注册到这个配置文件。这样就不用在每个视图中写。他默认就会调用。那么走源码流程,进入api_settings看看内部结构。api_settings = APISettings(None, DEFAULTS, IMPO..原创 2021-01-09 01:13:24 · 312 阅读 · 0 评论 -
django rest framework系列04-状态认证晋级代码详细流程
以这个url为例:path('api/v1/order/',views.orderView.as_view()),我们只有一个get方式,那么请求进来先去执行self.dispatch,我们没有写(覆盖),就去父类(继承与APIView)执行class orderView(APIView): """ 用于处理订单相关业务 """ authentication_classes = [Authtication,] #DEFAULT_PERMISSION_..原创 2021-01-08 15:54:12 · 159 阅读 · 4 评论 -
django rest framework系列03-get使用方式基于token基本用户登录状态认证
1、先看代码后讲解:views部分:from rest_framework.views import APIViewfrom django.http import JsonResponsefrom API import modelsfrom rest_framework import exceptionsfrom rest_framework.request import RequestORDER_DISK = { #模拟订单数据 "1":{ 'nam原创 2021-01-08 02:07:07 · 294 阅读 · 1 评论 -
django rest framework系列02-引入rest使用APIView实现用户登录且保存Token
1、数据库简单设计:from django.db import modelsclass UserInfo(models.Model): user_type_choices =( (1,'普通用户'), (2,'VIP用户'), (3,'SVIP用户'), ) user_type = models.CharField(max_length=2,choices=user_type_choices) #用户类型 userna原创 2021-01-07 23:19:48 · 405 阅读 · 0 评论 -
django rest framework系列01-django之cbv视图里使用类处理请求
## django处理请求的两种方式1、FBV(function base views) 就是在视图里使用函数处理请求。 代码实例:`在这里插入代码片`2、CBV(class base views) 就是在视图里使用类处理请求。原创 2021-01-07 21:38:36 · 121 阅读 · 0 评论