随笔分类 - Django-restframework框架
摘要:from rest_framework import serializers class XXX(serializers.ModelSerializer): # 显示表名字段 自定义反序列化方法: 方法一: # 自定义序列化字段 (要再次处理的字段) gender = serializers.Ser
阅读全文
摘要:REST framework可以自动帮助我们生成接口文档。 接口文档以网页的方式呈现。 自动接口文档能生成的是继承自APIView及其子类的视图。 1. 安装依赖 REST framewrok生成接口文档需要coreapi库的支持。 pip install coreapi 2. 设置接口文档访问路径
阅读全文
摘要:1.表设计 ''' BaseModel基表 is_delete、create_time、orders、updated_time 下面四表继承基表,可以继承两个字段 Book表: name、price、img、authors、publish is_delete、create_time、orders、u
阅读全文
摘要:二次封装Response类 from rest_framework.response import Response class APIResponse(Response): def __init__(self, data_status=0, data_msg='ok', results=None,
阅读全文
摘要:一、ModelSerializer序列化 1、定义ModelSerializer序列化器 针对models设计和声明序列化类 from rest_framework import serializers from .models import Book, Publisher class BookSe
阅读全文
摘要:模型类序列化器ModelSerializer 如果我们想要使用序列化器对应的是Django的模型类,DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类。 ModelSerializer与常规的Serializer相同,但提供了: 基于模型类自动
阅读全文
摘要:知识点:Serializer(偏底层)、ModelSerializer(重点)、ListModelSerializer(辅助群改) 为什么要使用序列化组件? 视图中查询到的对象和queryset类型不能直接作为数据返回给前台,所以要使用序列化组件 1. 定义Serializer 路由层 urls.p
阅读全文
摘要:响应模块 响应类构造器:rest_framework.response.Response def __init__(self, data=None, status=None, template_name=None, headers=None, exception=False, content_typ
阅读全文
摘要:为什么要自定义异常模块 1)所有经过drf的APIView视图类产生的异常,都可以提供异常处理方案 2)drf默认提供了异常处理方案(rest_framework.views.exception_handler),但是处理范围有限 3)drf提供的处理方案两种,处理了返回异常现象,没处理返回None
阅读全文
摘要:解析模块 为什么要配置解析模块 1)drf给我们提供了多种解析数据包方式的解析类 2)我们可以通过配置,来控制前台提交的哪些格式的数据后台在解析,哪些数据不解析 3)全局配置就是针对每一个视图类,局部配置就是针对指定的视图类,让它们可以按照配置规则选择性解析数据 源码入口 # APIView类的di
阅读全文
摘要:#渲染模块 源码入口 渲染模块 第四步: 对返回结果进行再次加工, self.response = self.finalize_response(request, response, *args, **kwargs) 源码分析 # 最后解析reponse对象数据 self.response = se
阅读全文
摘要:#请求模块:request对象 源码入口:APIView类的dispatch方法中 request = self.initialize_request(request, *args, **kwargs) class Test(APIView): def get(self, request, *arg
阅读全文
摘要:#DRF请求生命周期 根据应用中urls.py,走as_view方法,但是视图类没有该方法,所以请求走的是APIView的as_view方法 在APIView的as_view调用父类(django原生View)的as_view,同时还禁用了 csrf 认证 在父类(django原生View)的as_
阅读全文
摘要:#环境安装与搭建 #要求 REST framework 需要一下依赖: Python (3.5, 3.6, 3.7, 3.8, 3.9) Django (2.2, 3.0, 3.1) DRF是以Django扩展应用的方式提供的,所以我们可以直接利用已有的Django环境而无需从新创建。(若没有Dja
阅读全文
摘要:DRF简介 在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的。 在开发REST API的视图中,虽然每个视图具体操作的数据不同,但增、删、改、查的实现流程基本套路化,所以这部分代码也是可以复用简化编写的: 增:校验请求数据 → 执行反序列
阅读全文
摘要:restful接口规范 接口规范:就是为了采用不同的后台语言,也能使用同样的接口获取到同样的数据 如何写接口:接口规范是 规范化书写接口的,写接口要写 url、响应数据 注:如果将请求参数也纳入考量范围,那就是在写 接口文档 两大部分: url 1) 用api关键字标识接口url api.baidu
阅读全文
摘要:#web应用模式 在开发Web应用中,有两种应用模式: 前后端不分离 前后端分离 1 前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。 这种应用模式比较适合纯网页应用,但是当后端对接App时,A
阅读全文
摘要:第一章:接口规范 01 Web应用模式 02 Restful接口规范 第二章:请求渲染解析异常响应组件 01 认识Django REST framework 02 DRF环境安装与搭建 03 DRF请求生命周期 04 请求模块:request对象 05 渲染模块 06 解析模块 07 异常模块 08
阅读全文

浙公网安备 33010602011771号