day9DRF框架及APIView

day9DRF框架及APIView,第1张

9.1基本概念 1.前后端分离的讲解

概念:
前: 主要以页面的美观和流程,兼容三部分
后:主要以三高

业务耦合

需要懂数据库、懂框架 *** 作、懂模版前端

指责划分不明确

会造成团队之间沟通混乱,代码不统一,前后端技能水平层次不齐的水平

成本高

本质上这些软件 APP 用的都是同一套数据,由于不分离的情况,还需要给每一个平台不同的 APP 开发多套后端,这个开发成本很高

服务器压力大

渲染页面本应该是在客户端完成,如今都是在服务端渲染好之后再返回给用户,那么在高并发的情况下,会大量占用服务器的资源

2.restful风格
请求方式属性
POST/add-goods增加商品
POST/delete-goods删除商品
POST/update-goods修改商品
GET/get-goods查询商品
规则建议 1.域名要有标示 2.体现接口版本号 3.合理化的请求方式
方式功能
GET获取数据
POST提交数据,创建数据
PUT提交数据,更新数据
DELETE删除数据
4.参数过滤数据

数据较多,返回所有数据是不现实的,那么可以让API提供参数,进行结果返回

5.状态码

1.成功

状态码解释
200ok 成功返回用户请求的数据
201CREATED - [POST/PUT/PATCH] 新建或修改数据成功
204NO CONTENT - [DELETE] 删除数据成功

2.失败

状态码解释
400INVALID REQUEST - [POST/PUT/PATCH] 发出的请求错误,没有进行新建或修改
404NOT FOUND - [*] 发出的请求针对的是不存在的记录,服务器没有进行 *** 作
3. 什么是接口及接口文档

就是我们平常用来存储和传输数据用的

4. 阅读接口文档
方式解释
接口描述简单描述接口的逻辑和作用。例如说明这是一个发送消息的接口、查询天气的接口
接口地址表示的是网络地址,即url,我们需要调用接口url,获取响应内容
请求方法常见的请求方法为GET和POST,其他的方式见下图
请求参数用来传递信息的变量
响应内容接口返回的字段名称和规则
错误代码对接口的错误用代码进行归类
实例调用时响应内容
9.2DRF工程 1. drf工程搭建

安装DRF框架
pip install djangorestframework

在setting中配置

INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
'rest_framework ', 配置
‘myapp’,
]

2.APIView
要求解释
视图封装DRF封装请求数据为request.data返回数据Response方法
序列化器DRF提供序列化器统一便捷对序列化和反序列化
认证对用户登陆进行身份z明
权限对权限进行认证,例如超级用户、普通用户、匿名用户
限流对流量进行限制减轻接口的的压力
过滤可以对列表数据进行字段过滤
排序对指定的字段进行排序
分页可以对数据集进行分页处理
异常处理DRF异常处理并且可以自定义异常处理
接口文档生成DRF自动生成接口文档
3. APIView处理Request
from rest_framework.views import APIView
from rest_framework.response import Response
# Create your views here.
class MyView(APIView):
    def get(self,request):
        print(request.query_params)
        return Response({'mgs':'success'},status=200)
4 .序列化
class PeopleView(APIView):
	def get(self,request):
		people=People.object.all()
		people_list=[]
		for peo in people:
			people_dict={
				'name':peo.name,
				'sex:peo.sex,
				'money':peo.money,
				'ranking':peo.ranking,
		}
		people_list=[people.dict]
	return Response(people_list,status=200)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/799503.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存