五个扩展类 扩展类 作用 封装的方法 状态码(成功,失败) ListModelMixin 查询多条数据 list 200 CreateModelMixin 新增一条数据 create 201,400 RetrieveModelMixin 查询一条数据 retrieve 200,404 UpdateModelMixin 更新一条数据 update,partial_update 200,400 DestroyModelMixin 删除一条数据 destroy 204,404 这五个扩展类需要搭配Ge…
1. 两个基类 1)APIView rest_framework.views.APIView APIView是REST framework提供的所有视图的基类,继承自Django的View父类. APIView与View的不同之处在于: 传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象: 视图方法可以返回REST framework的Response对象,视图会为响应数据设置(render)符合前端要求的格式: 任何APIEx…
using System; using System.IO; using System.Linq; using System.Runtime.Serialization; using System.Text; using System.Xml.Serialization; /// <summary> /// Xml序列化 /// </summary> public static class XmlSerializerHelper { /// <summary> ///…
[Django REST framework - 视图组件之视图基类.视图扩展类.视图子类.视图集] 视图继承关系 详图见文章末尾 视图组件可点我查看 两个视图基类:APIView.GenericAPIView from rest_framework.views import APIView APIView与View的不同之处在于: 传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象: 视图方法可以返回REST framewor…
1,步骤: 1,自定义装饰器 # 我们自定义的装饰器: def my_decorator_1(func): def wrapper(request, *args, **kwargs): print('自定义装饰器被调用了') print('请求路径%s' % request.path) return func(request, *args, **kwargs) return wrapper 2,定义Mixin扩展类(该类一定要继承object类,一定要重写as_view()函数) # 定义的 M…
复习 1.整体修改与局部修改 # 序列化get (给前端传递参数) #查询 ser_obj = ModelSerializer(model_obj) #只传递一个参数,默认是instance的参数,查询数据 # 反序列化post save() => create()(数据保存到数据库中) #添加 ser_obj = ModelSerializer(data=model_data) #传递data参数,保存数据 #反序列化put save() => update() #修改(需要传入instan…
视图 5个视图扩展类 视图拓展类的作用: 提供了几种后端视图(对数据资源进行曾删改查)处理流程的实现,如果需要编写的视图属于这五种,则视图可以通过继承相应的扩展类来复用代码,减少自己编写的代码量. 这五个扩展类需要搭配GenericAPIView父类,因为五个扩展类的实现需要调用GenericAPIView提供的序列化器与数据库查询的方法. 1)ListModelMixin 列表视图扩展类,提供list(request, *args, **kwargs)方法快速实现列表视图,返回200状态码.…
GenericAPIView的使用 from rest_framework.generics import GenericAPIView GenericAPIView继承 APIView,主要增加了操作序列化器和数据库查询的方法,作用是为下面Mixin扩展类的执行提供方法支持.通常在使用时,可搭配一个或多个Mixin扩展 因此也是需要进行序列化的三个步骤,但是是使用GenericAPIView的时候,必须要有一个前提,就是:必须申明当前视图类中操作的模型数据是 queryset = BookIn…
五个扩展类 (1)ListModelMixin 列表视图扩展类,提供list(request, *args, **kwargs)方法快速实现列表视图,返回200状态码. 该Mixin的list方法会对数据进行过滤和分页. 源代码: class ListModelMixin(object): """ List a queryset. """ def list(self, request, *args, **kwargs): # 过滤 queryse…
Mixin扩展类     ['列表操作','过滤','搜索','排序'] <一>:<1>创建项目: 配置 urls 主路由    配置model文件(举个例子,就以book为模型) 当完成这步时  进行数据的 ''迁移''   然后 '执行'  操作 <2>在views中 导入通用视图类 (只要是用mixin就要导入通用视图类)导入通用视图类 (from rest_framework.generics import GenericAPIView)导入mixin (fro…