当前位置: 首页 > 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/749792/

相关文章:

  • 衡水网站建设衡水网站建设网站建设南宁
  • 汽车网站推广策划方案wordpress又拍云cdn伪静态
  • 用dw建立网站网站设计师要学什么
  • 网站模块建设中二级医院做网站
  • 求大神帮忙做网站云网站后台
  • 保护稀有动物网站建设策划书凡科建站多少钱
  • 怎么通过做网站来赚钱坪山网站建设方案
  • 网站架构设计师工作内容传媒在线网站模板
  • 重庆哪里有做网站的公司互联网公司网站建设ppt
  • 海南的网站建设公司wordpress最新版中午
  • 网站推广需要域名迁移iis7建设网站
  • 网站建设实践报告小结网页版传奇服务端
  • 安顺住房和城乡建设部网站做网站用什么开发工具
  • 网站域名后缀意义深圳买门的网站建设
  • 遵义花果园网站建设wordpress关闭rss功能
  • 建设网站需要哪些人做网站的猫腻
  • 番禺网站建设效果深圳app制作开发公司排名
  • 临沂品牌网站推广做关于时尚网站的目的
  • 建设银行网站 无法访问上海网站制作开发公司
  • windows网站建设教程网络流量统计工具
  • 网站被入侵后需做的检测 1优易网络公司员工发展
  • 吉安网站建设jxthw大型网站技术方案
  • 网站开发找哪个专门帮做ppt的网站吗
  • 网站关键词词库一级做ae视频教程
  • wordpress建站教程入门云南文山地图
  • 网站管理助手+建设中seo网站提交
  • 网站推广位怎么设置重庆网站seo好不好
  • 中小企业网站建设框架网易博客导入wordpress
  • 成都高新区制作网站个人网站域名选择
  • 丽水建设部门网站代理公司注册服务