概念:
前: 主要以页面的美观和流程,兼容三部分
后:主要以三高
需要懂数据库、懂框架 *** 作、懂模版前端
指责划分不明确会造成团队之间沟通混乱,代码不统一,前后端技能水平层次不齐的水平
成本高本质上这些软件 APP 用的都是同一套数据,由于不分离的情况,还需要给每一个平台不同的 APP 开发多套后端,这个开发成本很高
服务器压力大渲染页面本应该是在客户端完成,如今都是在服务端渲染好之后再返回给用户,那么在高并发的情况下,会大量占用服务器的资源
2.restful风格请求方式 | 属性 |
---|---|
POST/add-goods | 增加商品 |
POST/delete-goods | 删除商品 |
POST/update-goods | 修改商品 |
GET/get-goods | 查询商品 |
方式 | 功能 |
---|---|
GET | 获取数据 |
POST | 提交数据,创建数据 |
PUT | 提交数据,更新数据 |
DELETE | 删除数据 |
数据较多,返回所有数据是不现实的,那么可以让API提供参数,进行结果返回
5.状态码1.成功
状态码 | 解释 |
---|---|
200 | ok 成功返回用户请求的数据 |
201 | CREATED - [POST/PUT/PATCH] 新建或修改数据成功 |
204 | NO CONTENT - [DELETE] 删除数据成功 |
2.失败
状态码 | 解释 |
---|---|
400 | INVALID REQUEST - [POST/PUT/PATCH] 发出的请求错误,没有进行新建或修改 |
404 | NOT FOUND - [*] 发出的请求针对的是不存在的记录,服务器没有进行 *** 作 |
就是我们平常用来存储和传输数据用的
4. 阅读接口文档方式 | 解释 |
---|---|
接口描述 | 简单描述接口的逻辑和作用。例如说明这是一个发送消息的接口、查询天气的接口 |
接口地址 | 表示的是网络地址,即url,我们需要调用接口url,获取响应内容 |
请求方法 | 常见的请求方法为GET和POST,其他的方式见下图 |
请求参数 | 用来传递信息的变量 |
响应内容 | 接口返回的字段名称和规则 |
错误代码 | 对接口的错误用代码进行归类 |
实例 | 调用时响应内容 |
安装DRF框架
pip install djangorestframework
在setting中配置
2.APIViewINSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
'rest_framework ', 配置
‘myapp’,
]
要求 | 解释 |
---|---|
视图封装 | DRF封装请求数据为request.data返回数据Response方法 |
序列化器 | DRF提供序列化器统一便捷对序列化和反序列化 |
认证 | 对用户登陆进行身份z明 |
权限 | 对权限进行认证,例如超级用户、普通用户、匿名用户 |
限流 | 对流量进行限制减轻接口的的压力 |
过滤 | 可以对列表数据进行字段过滤 |
排序 | 对指定的字段进行排序 |
分页 | 可以对数据集进行分页处理 |
异常处理 | DRF异常处理并且可以自定义异常处理 |
接口文档生成 | DRF自动生成接口文档 |
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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)