DRF框架初始

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格式数据
          需要注意的点
            编码与数据格式要一致

猜你喜欢

转载自www.cnblogs.com/shaozheng/p/12087828.html