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请求的数据
最新文章
- range()和xrange()
- HDU 2068 RPG的错排
- WPS添加页码不是从首页开始
- TAR命令详解
- 滚动RollUp、压缩
- AD7190学习笔记
- 教程-FastReport 的安装 心得
- cocopods安装
- 当浏览器不支持placeholder,所执行的函数
- Android 判断当前设备是否联网
- LoadRunner入门(二)
- SpringMVC详解(二)------详细架构
- WPF MVVM UI分离之《交互与数据分离》
- win+R启动列表
- 【转】Syncthing的安装与使用
- 外网访问ARM嵌入式Linux系统
- salesforce零基础学习(八十八)项目中的零碎知识点小总结(二)
- JavaScript内置对象——Math对象
- 问题:mysql服务正在启动 mysql服务无法启动 &;&; mysql启动脚本 mysql关闭脚本
- java开学第一周测试自我感想