APIView和View的区别
APIView和View的区别
API继承了View
重写了as_view方法
--豁免csrf
def dispatch(self, request, *args, **kwargs):
self.args = args
self.kwargs = kwargs
# 重新封装request
# 新的request变成Request的实例化对象
# 旧的request变成了_request
request = self.initialize_request(request, *args, **kwargs)
self.request = request
def initialize_request(self, request, *args, **kwargs):
parser_context = self.get_parser_context(request)
return Request(
request,
parsers = self.get_parsers(),
authenticators = self.get_authenticators(),
negotiator = self.get_content_negotiator(),
parser_context = parser_context
)
class Request(object):
self._request = 旧的request
def query_params(self):
return self._request.GET
def data(self):
return post请求的数据
APIView和View的区别的更多相关文章
- python测试开发django-rest-framework-62.基于类的视图(APIView和View)
前言 django中编辑视图views.py有两种方式,一种是基于类的实现,另外一种是函数式的实现方式,两种方法都可以用. REST框架提供了一个APIView类,它是Django View类的子类. ...
- Activity和View的区别:
Activity和View的区别: activity相当于控制部分,view相当于显示部分.两者之间是多对多的关系,所有东西必须用view来显示. viewGroup继承自view,实现了ViewM ...
- 私服nexus的权限问题,带admin和带view的区别
admin和view的区别只找到了这个解释: https://blog.csdn.net/tian_111222333/article/details/100159983 最终得出答案,我只需要给他们 ...
- Android listview和gridview以及view的区别
GridView 可以指定显示的条目的列数. listview一般显示的条目的列数都是一列 如果是列表(单列多行形式)的使用ListView,如果是多行多列网状形式的优先使用GridView andr ...
- Android Touch(2)View.OnTouchEvent与View.OnTouchListener区别
1,在官方文档 docs/reference/android/view/View.OnTouchListener.html 中对OnTouchListener的描述 Interface definit ...
- surfaceView和View的区别
概念:view在UI线程去更新自己:而SurfaceView则在一个子线程中去更新自己 surfaceView是在一个新起的单独线程中可以重新绘制画面,而View必须在UI的主线程中更新画面 在UI的 ...
- APIView (DRF的视图)
APIView和View的区别 -- APIView继承了View -- APIView 重写了as_view以及 dispatch方法 -- 在dispatch里重新封装了request -- r ...
- drf4 视图与路由组件
APIView和View的区别 不管是View还是APIView最开始调用的都是as_view() APIView继承了View, 并且执行了View中的as_view()方法,最后把view返回了, ...
- python 全栈开发,Day95(RESTful API介绍,基于Django实现RESTful API,DRF 序列化)
昨日内容回顾 1. rest framework serializer(序列化)的简单使用 QuerySet([ obj, obj, obj]) --> JSON格式数据 0. 安装和导入: p ...
随机推荐
- 科赫曲线和科赫雪花的绘制Python
#KochDrawV1.pyimport turtledef koch(size,n): if n == 0: turtle.fd(size) else: for angle in [0,60,-12 ...
- react-navigation,StackNavigator,TabNavigator 导航使用
StackNavigator 参考这里 TabNavigator 参考这里 是一个组合,我把这2个写在一起了 代码: import React, { Component } from 'react ...
- day3 python 阿狸的进阶之路
函数概念: 1.为什要有函数 组织结构不清晰,可读性差,代码冗余,可扩展性差. 2.什么是函数 具备某一个功能的工具--->函数 事先准备工具->函数的定义 拿来就用. ...
- elasticsearch-java
elastissearch的JAVA客户端 官网 java api文档 https://www.elastic.co/guide/en/elasticsearch/client/java-api/ ...
- javascript:width,innerwidth和outerwidth的区别
width()方法用于获得元素宽度 innerWidth()方法用于获得包括内边界(padding)的元素宽 outerWidth()方法用于获得包括内边界(padding)和边框(border)的元 ...
- C++复习:纯虚函数和抽象类
纯虚函数和抽象类 1基本概念 2抽象类案例 3抽象类在多继承中的应用 C++中没有Java中的接口概念,抽象类可以模拟Java中的接口类.(接口和协议) 3.1有关多继承的说明 工程上的多继承 被 ...
- mybatis 获取insert返回的主键
在我们开发过程中,在插入数据到数据库时,很多时候都需要把其主键返回,这里就说一下mybatis是怎么获取的. 其中mysql和oracle是不同的做法,因为mysql本身就提供字段自增的属性,而ora ...
- TRANSFORM YOUR HABITS
TRANSFORM YOUR HABITS3rd EditionNote from James Clear:I wrote Transform Your Habits to create a free ...
- Android事件拦截机制 - 两句话
模拟情形:ViewGroupA ->ViewGroupB->View False往下走,True就停下.(适用于事件传递和事件处理)
- Hibernate学习笔记1.1(简单插入数据)
Hibernate是把以前的jdbc连接数据库的操作进行了一系列友好的封装,最好只用调用save即可,即将sql语句的这部分操作转化为面向对象的 Hibernate资源准备: 文档目录结构: 1.网址 ...