第四阶段:DRF day76 DRF--初始DRF

一、昨日内容复习

"""
1、vue项目配置全局css文件:在main.js中用import导入或是require()加载 .css 文件
2、vue项目配置全局js文件:在main.js中用import导入 .js 文件,并将其设置给 Vue 原型
3、vuex提供的store仓库存储,可以完成组件间的传参(了解)
4、vue项目配置axios可以完成前后台交互:this.$axios({}).then(response=>{}).catch(error=>{})
5、django利用django-cors-headers插件解决前后台分类项目跨越问题(重点)
6、前台两种提交数据的方式:url拼接参数,数据包参数
7、前后台分类,后台登录通过的token会返回给前台,前台自己处理存储在cookie中:vue-cookies插件操作cookie
"""

二、今日内容学习

"""
1、html常用标签:link、meta、div、span、b、i、a、img、ul、table、form

2、css选择器,css三种布局
    div .div #div
    盒模型:margin
    浮动布局:float
    定位布局:position
    
3、js四种变量,js字符串、数组、对象的操作方法,js可变长参数
    let var 没有关键字 const

4、接口的四个核心部分:请求方式,请求地址,请求参数,响应结果
    get 取 post 增
    长得像返回数据的URL
    拼接参数还是数据包参数:key-value
    响应状态码,状态信息,数据

5、接口工具:写接口文档的YApi平台,访问接口的Postman工具
    接口文档:将接口的四个核心描述成文档
    Postman工具:测试接口的请求响应

6、restful接口规范:如何设计url,请求方式代表操作方式,网络状态码及其含义,响应结果
    https://api.oldboy.com/v2/users/?limit=3&search=张
    get post put(patch) delete
    网络状态码:2xx 4xx 5xx
    数据:{status,msg,results}


7、基于原生django书写满足restful规范的接口:两个url 对应 一个视图类 完成 十大接口
    /api/users/
    /api/users/(?P<pk>\d+)/
    class User(View):
        get|post|put|patch|delete方法

8、CBV请求生命周期:as_view()完成路由匹配 => url请求会调用as_view()的返回值视图函数view => 调用dispatch()完成请求分发 => 视图类的具体视图方法处理请求 => 返回给前台

9.
    安装drf:pip install djangorestframework
    视图类继承drf的APIView: from rest_framework.views import APIView
    读懂drf的as_view()方法:返回视图函数view是,局部禁用了csrf认证 - csrf_exempt(view)
    请求分发的dispatch(),
        在分发执行视图方法前,完成了
            二次封装request:self.initialize_request(request, *args, **kwargs)
            三大认证:self.initial(request, *args, **kwargs)
        在视图方法处理完请求后:
            出现异常的处理:self.handle_exception(exc)
            二次封装response:self.finalize_response(request, response, *args, **kwargs)
            
10、自己看drf源码入口:直接查看 rest_framework.view的APIView的dispatch方法
"""

今日练习

练习A

"""
1、整理今天所学知识点

2、注册YApi账号,熟悉书写接口文档

3、将资源更换为Car,为Car资源写满足restful规范的接口,至少可以实现单查,群查
    要采用路由分发
    采用CBV来实现
    可以尝试完成单增和单删接口
"""

练习B

"""
1、回顾总结CBV源码逻辑
2、实现DRF框架的CBV源码逻辑:
    as_view()和dispatch()方法都干了哪些重要的实现
    熟悉CBV源码流程
    有能力可以结合预习查看剩余功能模块的源码:二次封装response、二次封装response
"""

猜你喜欢

转载自www.cnblogs.com/foreversun92/p/11891952.html
DRF
今日推荐