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

视频拍摄制作搜索引擎优化课程

视频拍摄制作,搜索引擎优化课程,息壤网站模板,网络代码Django REST framework (DRF) 中 GenericAPIView 的源码核心部分。 它是所有“泛型视图”的基础类#xff0c;比如常用的 ListAPIView、RetrieveAPIView、CreateAPIView 都是继承自它。#x1f31f; 作用继承自 APIView#xff0c;因此仍然是一个标准的 DRF 视图。提供了常用…Django REST framework (DRF) 中 GenericAPIView 的源码核心部分。 它是所有“泛型视图”的基础类比如常用的 ListAPIView、RetrieveAPIView、CreateAPIView 都是继承自它。作用继承自 APIView因此仍然是一个标准的 DRF 视图。提供了常用的“通用逻辑” 统一获取 queryset统一获取 serializer提供 对象查找get_object提供 分页paginate_queryset / get_paginated_response提供 过滤filter_queryset它本身不实现 get/post/put/delete 等 HTTP 方法而是作为“基类”让子类在此之上去扩展。关键点解析 1. queryset 和 get_queryset def get_queryset(self):assert self.queryset is not Nonequeryset self.querysetif isinstance(queryset, QuerySet):queryset queryset.all() # 确保每次请求都是新 QuerySetreturn queryset必须设置 queryset 或重写 get_queryset。一般推荐重写 get_queryset 来根据 用户/请求参数 动态返回不同数据。注意不要直接用 self.queryset否则会因为缓存导致跨请求数据不一致。2. serializer_class 和 get_serializer_class def get_serializer(self, *args, **kwargs):serializer_class self.get_serializer_class()kwargs.setdefault(context, self.get_serializer_context())return serializer_class(*args, **kwargs)必须指定 serializer_class 或重写 get_serializer_class。可以根据用户角色、请求方法等动态选择不同序列化器。3. get_object def get_object(self):queryset self.filter_queryset(self.get_queryset())lookup_url_kwarg self.lookup_url_kwarg or self.lookup_fieldfilter_kwargs {self.lookup_field: self.kwargs[lookup_url_kwarg]}obj get_object_or_404(queryset, **filter_kwargs)self.check_object_permissions(self.request, obj)return obj用来获取某一个具体对象常用于 RetrieveAPIView、UpdateAPIView。默认按 pk 查找可以改 lookup_field slug 之类。自动做 权限检查。4. 过滤与分页 filter_queryset(queryset)遍历 filter_backends按配置的 filter backend 处理比如 DjangoFilterBackend、SearchFilter、OrderingFilter。paginate_queryset(queryset)按 pagination_class 分页比如 PageNumberPagination。get_paginated_response(data)返回带分页信息的 Response。✅ 使用示例 比如写一个获取用户文章的 API from rest_framework.generics import ListAPIView, RetrieveAPIView from .models import Article from .serializers import ArticleSerializerclass ArticleListView(ListAPIView):serializer_class ArticleSerializerdef get_queryset(self):# 只展示当前用户的文章return Article.objects.filter(authorself.request.user)class ArticleDetailView(RetrieveAPIView):queryset Article.objects.all()serializer_class ArticleSerializerlookup_field slug # 用 slug 查找这样 ListAPIView / RetrieveAPIView 都是基于 GenericAPIView 实现的。总结 GenericAPIView 本身不会直接用而是作为“可复用的基类”把 queryset / serializer / 过滤 / 分页 / 查找对象 的逻辑抽象好供其他泛型视图使用。
http://www.pierceye.com/news/230102/

相关文章:

  • seo网站营销推广公司不错的免费网站建设
  • 怎么做自助交易网站平面设计师工资一般多少钱一个月
  • 网站建设如何运营seoul是什么意思
  • 51CTO学院个人网站开发视频营销策划包括哪些内容
  • 专做排名的网站wordpress样式乱了
  • 网站空间域名维护协议网站备案的意义
  • word可以做网站链接吗网站推广的基本方法有哪些
  • 公司展示型网站wordpress后台邮箱怎么设置
  • 小程序咸鱼之王2022年搜索引擎优化指南
  • 企业网站建设 价格wordpress汉化主题
  • 兰州市建设厅官方网站做网站用的编程工具
  • 网站建设及维护招聘周口航迪科技网站建设公司怎么样
  • 服装外贸网站建设discuz应用
  • flash个人网站欣赏网站营销单页怎么做
  • 设计网站用什么语言网站建设需求范文
  • seo织梦网站建设步骤昆明网络营销软件
  • 企业网站 静态页面成都设计公司邮箱
  • 创世网站建设 优帮云北京网站建设工作室
  • 网站空间提供商哪个网站可以做英文兼职
  • 社区网站制作平台网站建设调研报告
  • 不会建网站怎么赚钱dw个人主页模板
  • 自助建站系统哪个好thinkphp做的网站源码
  • 广州企业网站模板建站现在有什么网站可以做兼职的
  • 网站开发 公司百度seo公司整站优化软件
  • 沈阳学网站制作学校网络推广龙岗比较好的
  • 佛山 建站公司网站风格一般具有哪三大特征
  • 网站的二级页面怎么做济南网站建设行知科技不错
  • 网站赢利如何查看实时街景地图
  • 手表网站欧米茄官方网络平台管理制度和管理办法
  • 北京网站建设网站网站不用工具开发建设