DRF框架初始:
DRF框架:
介绍: drf是Django的插件,所以要提前安装Django
下载: pip3 install djangorestframework
配置:
# 注册drf app
NSTALLED_APPS = [
# ...
'rest_framework',
]
# 具体功能在具体模块下
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.exceptions import APIException
from rest_framework.filters import OrderingFilter
from rest_framework.views import APIView
from rest_framework.pagination import PageNumberPagination
from rest_framework.settings import APISettings
# 自定义drf配置 - 在自己的settings.py
REST_FRAMEWORK = {
# 自定义修改drf的配置们
}
CBV生命周期:
一,django CBV 源码分析:
1)as_view()是入口,得到view函数地址(路由层)
2)请求来了调用view函数,内部调用dispatch函数完成请求分发(请求之前)
3)dispatch函数将请求方式映射成视图类的同名方法,完成请求的处理,得到相应 (请求执行完毕)
4)再将相应的结果一层层返回 (返回结果)
二,drf CBV源码分析:
1)as_view()是入口,得到view函数地址,在范围view函数地址时局部禁用csrf认证
2)请求来了调用view函数,内部调用(APIView类的)dispatch函数完成请求分发
3)dispatch函数 二次封装request、完成三大认证后,再将请求方式映射成视图类的同名方法,完成请求的处理,得到相应,再对相应做渲染处理
4)再将相应的结果一层层返回
apiView 的处理:
as_view: 就干了一件事,禁用csrf认证
dispatch:
1)二次封装request
2)三大认证
接口测试工具
Postman接口工具:
---》https://www.getpostman.com/downloads/# 下载
get请求,携带参数采用Params
post等请求,提交数据包可以采用三种方式:form-date、urlencoding、json
urlencoded:
对应的数据格式:name=xxx&password=666
后端获取数据:request.POST
ps;django会将urlencoded编码的数据解析自动放到request.POST
formdata:
form表单传输文件的编码格式
后端获取文件格式数据:request.FILES
后端获取普通键值对数据:request.POST
application/json:
ajax发送json格式数据
需要注意的点
编码与数据格式要一致