当前位置: 首页 > news >正文

给别人做网站打电话推销看b站视频软件下载安装

给别人做网站打电话推销,看b站视频软件下载安装,做网站济南西,世界建设企业网站相关文章: Django实现接口自动化平台(九)环境envs序列化器及视图【持续更新中】_做测试的喵酱的博客-CSDN博客 深入理解DRF中的Mixin类_做测试的喵酱的博客-CSDN博客 python中Mixin类的使用_做测试的喵酱的博客-CSDN博客 本章是项目的一…

相关文章:

Django实现接口自动化平台(九)环境envs序列化器及视图【持续更新中】_做测试的喵酱的博客-CSDN博客

深入理解DRF中的Mixin类_做测试的喵酱的博客-CSDN博客 

python中Mixin类的使用_做测试的喵酱的博客-CSDN博客 

本章是项目的一个分解,查看本章内容时,要结合整体项目代码来看:

python django vue httprunner 实现接口自动化平台(最终版)_python+vue自动化测试平台_做测试的喵酱的博客-CSDN博客

 

一、背景

学生信息(id,name,age,address)

查看数据列表(学生列表)时,需要两种展示形式。

形式一:直接展示学生详细信息的列表 .list()

形式二:只展示id与name学生信息的列表 .names()

形式一与形式二,对应的序列化器是不一样的。

所以自定义names() acntion ,来对应另一个序列化器

二、自定义action

# -*- coding: utf-8 -*-import os
from datetime import datetimefrom django.conf import settings
from rest_framework.decorators import action
from rest_framework.response import Responsefrom envs.models import Envs
from utils import commonclass NamesMixin:@action(methods=['GET'], detail=False)def names(self, request, *args, **kwargs):response = super().list(request, *args, **kwargs)return responsedef paginate_queryset(self, queryset):"""names action禁用分页功能:param queryset::return:"""if self.action == "names":returnelse:return super().paginate_queryset(queryset)def filter_queryset(self, queryset):"""names action禁用过滤功能:param queryset::return:"""if self.action == "names":return self.querysetelse:return super().filter_queryset(queryset)

1、自定义names action

2、当action 为names时:

当action 为names时,不做分页、过滤功能的处理。

这里的 def paginate_queryset(self, queryset): 

def filter_queryset(self, queryset): 方法,是重写。

重写的

 EnvsViewSet(NamesMixin, viewsets.ModelViewSet-> ModelViewSet->GenericViewSet->GenericAPIView 类下的方法。

GenericAPIView源码:

 三、Mixin类应用

Mixin类需要配合其他类一起使用,视图类:

from rest_framework import viewsets
from rest_framework import permissions
from .models import Envs
from . import serializers
from utils.mixins import NamesMixinclass EnvsViewSet(NamesMixin, viewsets.ModelViewSet):queryset = Envs.objects.all()serializer_class = serializers.EnvsModelSerializerpermission_classes = [permissions.IsAuthenticated]def get_serializer_class(self):if self.action == "names":return serializers.EnvsNamesSerializerelse:return self.serializer_class

get_serializer_class 方法,也是重写的GenericAPIView(views.APIView) 类的方法。

一共重写了三个方法

  • 分页功能:def paginate_queryset(self, queryset)
  • 过滤功能:def filter_queryset(self, queryset)
  • 选择序列化器:def get_serializer_class(self):

分页、过滤 在 自定义Mixin类,下重写,是为了方便封装,这是通用的

选择序列化器 在 具体应用的视图类下,重写,这个是个性化的,不同的视图类,需要指定不同的序列化器。

http://www.mnyf.cn/news/16923.html

相关文章:

  • 视频上到什么地方可以做网站链接来几个关键词兄弟们
  • 成都品牌设计网站今日头条10大新闻
  • 山东网站建设价格实惠广告关键词有哪些类型
  • 浙江建设厅官方网站微信指数
  • 网站可以直接做https吗宁波网站推广方式怎么样
  • 全球网站建设品牌进入百度官网
  • seo教程seo教程最新seo操作
  • 上海集团网站建设价格关键词优化排名怎么做
  • 关于网站建设项目创业计划书百度推广广告公司
  • 互联网企业概念站长之家seo综合
  • wordpress占用内存居高不下搜索引擎优化指的是
  • 怎样用网站做单笔外贸手机百度网址大全首页
  • php网站怎么注入电商平台营销策划方案
  • 证券投资网站建设seo方法培训
  • 烟台商城网站建设百度软件下载
  • 上海软件网站建设网站运营方案
  • 哪个网站教做西餐百度网盘怎么找片
  • 集团网站下分网站 模板电脑培训学校哪家好
  • 龙岗南联网站建设公司东莞关键词优化实力乐云seo
  • 打好代码怎么做网站深圳十大教育培训机构排名
  • 博达软件网站建设工作手机
  • 有没有什么网站做泰国的东西怎样在百度上发布信息
  • 做网站最好的软件是零基础学什么技术好
  • 台州网站开发公司全网营销推广公司
  • 淮南网络营销信息流广告优化师
  • 长沙品质网站建设优点百度贴吧官网app下载
  • 郑州网站优化上海十大营销策划公司排名
  • 甘肃省广电网络公司网站数字营销策略有哪些
  • 凡科做视频网站站长查询
  • 南昌seo代理商唐山seo快速排名