1.restful 规范与APIView

drf 框架初识

restful 规范

定义:它是一种规范,面向资源架构

10条规范:

'''
主要部分:	路径都用名词表示,请求方式不同,表示不同操作
	1.路径,视网络上的任何东西都是资源,均使用名词表示(可以为复数)、
	--127.0.0.1/books/
	
	2.method,通过请求方式来表示进行的操作
	--127.0.0.1/books/	get请求:表示获取所有图书  | --127.0.0.1/books/1  get请求:表示获取id为1的图书
	--127.0.0.1/books/	post请求:表示新增一本书
	--127.0.0.1/books/	delete请求:表示删除一本书
	--127.0.0.1/books/	put/patch请求:表示修改一本书
'''
'''
1.API与用户的通信协议,总是使用HTTPs协议  ----> 密文
2.域名
	https://api.example.com :尽量将API部署在专用域名(会存在跨域问题)
	https://example.org/api/:API很简单(推荐)
3.版本
	-https://api.example.com/v1/
	-把版本号放在请求头中			----> 功能更新需要另起版本
4.过滤,通过在url上传参的形式传递搜索条件
5.状态码
	1 开头:服务器正在处理
	2 开头:服务器处理成功
	3 开头:重定向
	4 开头:客户端错误
	5 开头:服务器错误
	-注意:在返回的数据中携带状态码
6.错误处理,应返回错误信息,error当做key
7.返回结果针对不同操作,返回数据格式要求
8.返回结果中提供链接
'''

CBV (View) 的源码执行流程

'''
--路由:url(r'^books/',views.Books.as_view()),
--当程序启动,第二个位置已经放入一个函数的内存地址(as_view内部view这个函数)
--当来了 get 请求,拿到第二个位置参数内存地址加括号执行(request,*args,**kwargs),其实就是					view(request,*args,**kwargs)
--本质就是执行了dispatch(request,*args,**kwargs)方法
--dispatch方法内部通过请求方式(get,post),反射出要执行的方法,去执行,然后返回
'''

drf 框架的安装和简单使用

'''
drf: djangorestframework, 在原来 django 框架的基础上多做了一些事
安装:pip3 install djangorestframework
本质上是app,需要在 settings中配置 INSTALLED_APPS=['rest_framework',]
只要用drf,以后写的都是cbv
drf提供:
	序列化组件
	视图组件
	解析器
	认证组件
	权限组件
	频率组件
	分页器
	响应器
	url控制器 
	版本控制
'''

APIView的源码执行流程

'''
-get请求,执行 View 的 as_view 方法内部的 view 闭包函数,view闭包函数中执行了 dispacth 方法,
-现在再执行dispatch,就已经不是 View 的 dispatch,而是 APIView 的 dispatch 方法
'''
'''
补充:
	装饰器其实就是一个函数
	urlencode编码
	formdata编码
	json编码:request.POST是没有值,只能从body中取出,直接处理
	-urlencode和formdata编码,request.POST
'''

编码
json编码:request.POST是没有值,只能从body中取出,直接处理
-urlencode和formdata编码,request.POST
‘’’




原文地址:https://www.cnblogs.com/-min/p/12833238.html