zoukankan      html  css  js  c++  java
  • 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格式数据
              需要注意的点
                编码与数据格式要一致
    
    
    
  • 相关阅读:
    ubuntu15.04下安装配置docker
    在Vmware/VirtualBox虚拟机环境中正确打开虚拟机
    windows下使用cx_freeze将Python程序打包成exe可执行文件
    Python正则表达式学习小结
    Ubuntu环境下利用Python3+PyQt5+Eric6进行GUI编程
    C#学习笔记——控件篇
    商务英语学习第一课(lending(借贷))
    Ajax的请求方式:get和post
    XML就像是扩展应用范围的HTML
    JQ数组=jQuery对象数组
  • 原文地址:https://www.cnblogs.com/shaozheng/p/12087828.html
Copyright © 2011-2022 走看看