首页 > 编程语言 >APIview源码分析

APIview源码分析

时间:2024-02-23 22:46:47浏览次数:27  
标签:分析 APIview self args request method 源码 kwargs response

1 APIview的as_view
-内部还是执行了View的闭包函数view
-禁用掉了csrf
-一切皆对象,函数也是对象 函数地址.name=lqz
2 原生View类中过的as_view中的闭包函数view
-本质执行了self.dispatch(request, *args, **kwargs),执行的是APIView的dispatch
3 APIView的dispatch
def dispatch(self, request, *args, **kwargs):
# DRF的Request类的对象,内部有request._request,是原生request
request = self.initialize_request(request, *args, **kwargs)
self.request = request

try:
self.initial(request, *args, **kwargs)
'''
#认证,权限,频率
self.perform_authentication(request)
self.check_permissions(request)
self.check_throttles(request)
'''
if request.method.lower() in self.http_method_names:
handler = getattr(self, request.method.lower(),
self.http_method_not_allowed)
else:
handler = self.http_method_not_allowed

response = handler(request, *args, **kwargs)

except Exception as exc:
# 全局的异常捕获
response = self.handle_exception(exc)
# 把视图函数(类)返回的response,又包装了一下
self.response = self.finalize_response(request, response, *args, **kwargs)
return self.response

标签:分析,APIview,self,args,request,method,源码,kwargs,response
From: https://www.cnblogs.com/97zs/p/17950888

相关文章

  • linux cpu 内存分析
    1.通过分析服务器资源,当发现资源消耗过多时,需要分析什么进程占用了,如下所示 2.分析第一台服务器通过登录服务器,使用top命令查看,出来信息如下所示: 进程182618的内存占用了52.6%,属于.net应用程序,通过已维护的文档,知道了哪些.net程序的部署了,最终找到是该web应用程序......
  • 基于EasyCVR视频汇聚系统的公安网视频联网共享视频云平台建设思路分析(二)
    一、需求分析随着科技的飞速发展,视频监控联网技术在公安工作中发挥着越来越重要的作用。为了提高公安部门对各类事件的响应速度和处理能力,建设一个高效、稳定的公安视频联网共享云平台显得尤为重要。通过建设开放的视频联网共享云平台,实现各类文件的统一存储,同时保证系统弹性扩展......
  • 安全生产:AI视频智能分析网关V4如何应用在企业安全生产场景中?
    随着科技的不断进步,视频智能分析技术在安全生产领域中的应用越来越广泛。这种技术通过计算机视觉和人工智能算法,可以对监控视频进行自动分析和处理,以实现多种功能,如目标检测、行为识别、异常预警等。今天我们以TSINGSEE青犀AI视频智能分析网关V4为例,来介绍下视频智能分析技术AI视......
  • 网络流量分析、故障排除和性能监控:提高网络稳定性的关键步骤
    背景在当今数字化时代,网络已经成为企业运营的核心要素,有效的网络管理对于业务的顺利进行至关重要。网络流量分析、故障排除和性能监控是保持网络稳定性的重要步骤。本文将探讨这三个关键方面,并介绍如何通过它们提高网络性能,确保业务连续运转。网络流量分析网络流量分析是网络管......
  • AMD GI-1.0 Screen Probe改进分析
    目录ScreenProbeReuse(GI-1.0)AMDScreenProbe生成(SpawnScreenProbe)重投影(ReprojectionScreenProbe)重投影的优化交换队列自适应补洞LRU存储多帧HistoryProbe采样(RaySampling)1/4需要重新生成的ProbeReprojection失败生成ProbeReprojection成功生成Probe3/4不需要重新生成的P......
  • LR(0)分析表
    目录项目集闭包项目集闭包项目集闭包的概念是在编译原理的LR(0)分析表构造中引入的。在LR(0)分析中,一个项目是一个文法产生式和一个点的组合,形如A->α.β,其中A是非终结符,α和β是符号串(可以是终结符或非终结符),点.表示当前分析的位置。项目集是一个项目的集合,而项目集的闭包则......
  • Kubernetes leader election 源码分析
    0.前言Kubernetes:kube-scheduler源码分析介绍了kube-scheduler调度Pod的逻辑。文中有一点未提的是,在Kubernetes集群中,kube-scheduler组件是多副本,单实例运行。仅有一个副本作为leader运行,当发生故障时,其它副本会抢占为leader继续运行。这种机制通过leaderelect......
  • 多线程系列(七) -ThreadLocal 用法及内存泄露分析
    一、简介在Javaweb项目中,想必很多的同学对ThreadLocal这个类并不陌生,它最常用的应用场景就是用来做对象的跨层传递,避免多次传递,打破层次之间的约束。比如下面这个HttpServletRequest参数传递的简单例子!publicclassRequestLocal{/***线程本地变量*/......
  • R语言逻辑回归(Logistic Regression)、回归决策树、随机森林信用卡违约分析信贷数据集
    原文链接:http://tecdat.cn/?p=23344最近我们被客户要求撰写关于信用卡违约分析的研究报告,包括一些图形和统计输出。本文中我们介绍了决策树和随机森林的概念,并在R语言中用逻辑回归、回归决策树、随机森林进行信用卡违约数据分析决策树是由节点和分支组成的简单树状结构。根据每......
  • 智能分析网关V4助力打造“AI+视频监管”明厨亮灶智能监管平台
    一、背景分析随着人们对食品安全和卫生的关注度不断提高,餐饮业的后厨卫生问题成为了社会热点。餐饮业作为人们日常生活中的重要组成部分,其后厨卫生状况直接关系到消费者的健康。由于生产流程复杂,传统的监管方式往往难以做到全面覆盖,而视频智能监管建设方案则能够借助高清摄像头、......