邵邵。

导航

django-drf

1、drf简介与安装

简介:
	djangorestframework:django的一个app,只能在django上面使用
安装:
	方式1:
	pip3 install djangorestframework
	方式2:
	通过pyharm安装,直接搜索:djangorestframework下载即可
	注意:
		安装之后django、版本会升级到最新版本
在配置文件中注册app
	rest_framework
注意事项:
	部分pycharm版本根据下载的版本不同,需要在配置文件中更改响应的配置
		根据报错信息更改即可,如:
			os.path.join
			decode更改为encode

导入与继承
	from rest_framework.view import APIView  # 类似继承类View
	from rest_framework.response import Response  # 类似HttpResponse

	class Index(APIView):
		def get(self, request, *args, **kwargs):
		# 跟JsonResponse很像,比JsonResponse强大很多,比如会根据访问的客户端不同,返回的数据也不一样
		return Response(字典)

2、restful API规范

1、全称:representational state transfer:表征状态转义
	REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。
2、web API接口的设计风格,是用于前后端分离的应用模式中
3、与语言,平台无关,任何框架都可以写出符合restful规范的api接口
4、规范:
	1、数据安全的保障:url链接一般都是采用https协议进行传输
	2、接口的特征表现:API接口特征标识
		https://api.baidu.com
		https://www.baidu.com/api
	3、多版本共存:url中标识接口版本
		https://api.baidu.com/v2
	4、数据即是资源:均使用名词(可复数)
		接口一般都是完成前后端数据的交换,交换的数据我们称之为资源,一般使用资源的复数形式,不要使用动词
	5、资源操作由请求方式决定:get获取,post,增加,put全局更改,patch局部修改,delete删除
	6、过滤:通过在url上传的形式传递搜索的条件,get请求方式
		https://api.baidu.com/v1/zooos?limit=10
		通过该接口获取筛选的条件
	7、响应状态码:对该接口的状态码
		返回的数据中心携带状态码
			{'code':100,'msg':'操作成功'}
	8、错误处理,应返回错误信息,error中的key
		{'code':101,'msg':'因为xx原因操作失败'}
	9、返回结果,根据不同的操作应符合如下规范
		GET:返回所有资源,应是列表套字典形式(数组套字典,每一个字典就是每一条记录)
		GET/1:返回单个资源对象(单个字段)
		POST:返回新添加的数据对象
		PUT:返回修改之后的数据对象
		PATCH:返回修改之后的数据对象
		DELETE:返回一个空文档
	10、返回的数据中携带链接地址
		{
		'code':100,
		'msg':'操作成功',
		'img':https://127.0.0.1/api/v1/img
		}

3、Request类

request._request		:原生的request
request.data			:post请求提交的数据(urlencoded, json, formdata)
request.user			:不是原生的user了
request.reqry_params		:原生的request.GET,为了遵循restful规范
request.FILES			:新的
重写了__getattr__(self,attr):新的request,原来所有的属性和方法,都可以直接拿到
	def __gatattr__(self,attr):
		return getattr(self, _request, attr)

API接口

可以理解为通过向该接口发送指定的数据,之后会返回该接口提供的数据
典型的api接口:https://api.weibo.com/2/statuses/home_timeline.json

posted on 2022-03-25 21:06  邵邵。  阅读(31)  评论(0编辑  收藏  举报