rest_framework -- mixins&generics】的更多相关文章

上面的mixins.generics都是rest_framework里的模块,我们可以继承其中的某些类,达到代码量减少的效果,这里充分体现出了面向对象的继承 一.mixins模块 mixins : from rest_framework import mixins #导入方式 存放一些增删改查的一些类 CreateModelMixin,ListModelMixin,RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin 二.generics模块…
rest_framework.mixins 请求业务 的 5 种实现 ​ mixin(混合类):不能单独使用,和其它类搭配起来使用(利用了Python支持多继承) rest_framework.mixins imput 业务的 主要逻辑都在这里 CreateModelMixin 创建对象 post 请求 ListModelMixin 查询所有的对象 get请求 RetrieveModelMixin 查询一个对象 get请求 UpdateModelMixin 更改一个对象 put 请求 Destr…
视图家族 view:视图 generics:工具视图 mixins:视图工具集 viewsets:视图集 学习曲线: APIView => GenericAPIView => mixins的五大工具类 => generics中的工具视图 => viewsets中的视图集 一.GenericAPIView基类 # GenericAPIView是继承APIView的,完全兼容APIView # 重点:GenericAPIView在APIView基础上完成了哪些事? 1)get_quer…
视图家族 视图家族在rest_framework源码位置和学习曲线为: rest_framework.views: 基本视图(APIView) rest_framework.generics: 工具视图(GenericAPIView) rest_framework.mixins: 视图工具集(Create/Destroy/List/Retrieve/Update) rest_framework.viewsets: 视图集 APIView 前几章代码都是基于APIView写的, 这里就不赘述了,…
最近在写新版的devops3.0,被generics.CreateAPIView创建用户密码序列化的问题折磨的欲仙欲死.反复看源码测试,得出下面的流程,这也是做generics.CreateAPIView太少的原因.以后一定要更加细心才是!留存本篇博文便于参考! 伪代码: 用户model: 需要导入from django.contrib.auth.models import AbstractUser AbstractUser继承了AbstractBaseUser, PermissionsMixi…
#生成序列化对象class BookModelSerizter(serializers.ModelSerializer): class Meta: model=Book fields='__all__' ##下面相当于是加个连接url,当你访问那个url的时候,就进行反向解析这个url # author = serializers.HyperlinkedIdentityField( # view_name='book_detail', ##反向解析 # lookup_field='author_…
视图家族之mixins视图工具类与generics工具视图类 一.mixins视图工具类 作用: 提供了几种后端视图(对数据资源进行曾删改查)处理流程的实现,如果需要编写的视图属于这五种,则视图可以通过继承相应的扩展类来复用代码,减少自己编写的代码量. 这五个扩展类需要搭配GenericAPIView父类,因为五个扩展类的实现需要调用GenericAPIView提供的序列化器与数据库查询的方法. """ 六大视图工具类: RetrieveModelMixin,\ 单查 Lis…
一层一层的封装,又能到底层,就会有全局感啦... from rest_framework import status from rest_framework.response import Response from snippets.models import Snippet from snippets.serializers import SnippetSerializer from django.http import Http404 from rest_framework.views i…
补充:  为什么要前后端分离:       a.因为前端它有自己框架,这样它的效率就非常高       b.不做前后端分离,公司如果既有客户端,又有app这种情况下你就的写两遍 django restful框架好处:       帮助我们写了好多组件比如:       a.认证:有类,类中的方法authenticate/authenticate_header,它的返回值有None,元组,异常.如果返回值为None那就不管,它是匿名用户.       b.权限:有类,类中的方法:has_permi…
最初形态(工作中可能会使用) 引子 Django的CBV我们应该都有所了解及使用,大体概括一下就是通过定义类并在类中定义get post put delete等对应于请求方法的方法,当请求来的时候会自动对应相应的方法并执行,urls.py中需要类点as_view()的方式来配置路由,至于如何拿到请求方法并对应执行我们自定义类中的方法,前面的博客中已经有了源码解析,这里不再陈述~ APIView 我们写的类不再继承Django的View类而是继承rest提供给我们的APIView类,这里对于一个数…