drf相关知识

前后端开发模式

补充知识:

后端开发工程师在写前端的时候,有两个前端的后台管理模板可以供我们使用

  • x-admin:这个是国人基于layui+jquery写的后台管理系统模板
  • admin-lte:这个是外国人基于bootstrap+jquery写的后台管理系统模板

由于现在前后端分离的开发模式使用度,x-admin已经不更新了

两种开发模式:

  1. 前后端混合开发(通过模板语法渲染)

    • 前端写好静态的html页面交付给后端开发。静态页面可以本地开发,也无需考虑业务逻辑只需要实现View即可。
    • 后端使用模板引擎去套模板,同时内嵌一些后端提供的模板变量和一些逻辑操作
    • 然后前后端集成对接,遇到问题,前端返工,后端返工
    • 然后在集成,直至集成成功

    在这里插入图片描述
    在这里插入图片描述

    这种模式的劣势:

    在前端调试的时候要安装完整的一套后端开发工具,要把后端程序完全启动起来。遇到问题需要后端开发来帮忙调试。我们发现前后端严重耦合,还要要求后端人员会一些HTML,JS等前端语言。前端页面里还嵌入了很多后端的代码。一旦后端换了一种语言开发,简直就要重做。

    像这种增加了大量的沟通成本,调试成本等,而且前后端的开发进度相互影响,从而大大降低了开发效率。

  2. 前后分离

    前后端分离并不是爱发模式,而是web应用的一种架构。在开发阶段,前后端工程师约定好交互的接口,实现并行开发和测试;在运行阶段前后端分离模式需要对web应用进行分离部署,前后端之前要使用HTTP协议或者其他协议进行交互请求。

    • 后端人员只需要负责写接口(API接口),使用postman接口测试工具测试
    • 前端人员负责写前端,写的过程中使用mock数据
    • 最后:前后端联调项目

    在这里插入图片描述

API接口

理解API

API(Application Programming Interface,应用程序编程接口)
是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API除了有应用“应用程序接口”的意思外,还特指 API的说明文档,也称为帮助文档。
通过网络,规定前后台信息的交互规则的url链接,,也就是实现前后端信息交互的媒介

作用

应用程序接口是一组定义,程序及协议的集合,通过API接口实现计算机软件之间的相互通信,API主要的一个功能是提供通用功能集。程序员通过调用API接口函数对应用程序进行开发,可以减轻编程的任务。API同时也是一种中间件,为不同的平台提供数据共享。

API接口的格式

  • url:长的像返回数据的url链接
    eg:https://api.map.baidu.com/place/v2/search(一般都会带有api的标识,还有可能会带有版本标识)

  • 请求方式:get,post,put,patch,delete
    采用get方式请求上方接口

  • 请求参数:json或xml格式的key-value类型数据
    ak:6E823f587c95f0148c19993539b99295
    region:上海
    query:肯德基
    output:json

  • 响应结果:json或xml格式的数据

接口测试工具postman

API接口写好,后端人员需要自己先测试一下,但是我们又不可能在浏览器中去测试

使用postman软件,来做接口测试(本质就是:模拟发送http请求)

接口测试软件有很多:eg:postwoman(根据postman修改的)

官方下载:https://www.postman.com/downloads/

直接双击即可安装

restful规范

简介

REST全称是Representational State Transfer,中文意思是表述:表征性状态转移, 它首次出现在2000年Roy Fielding的博士论文中

RESTful是一种定义Web API接口的设计风格,尤其适用于前后端分离的应用模式中

restful规范有10点规范,公司有自己的风格规范

  1. 数据的安全保障:url链接一般都是采用https协议进行数据传输(更加安全)
    https就是http+ssl/tsl

  2. 接口中带有api关键词

  3. 多数据版本共存:一个接口可能有多个版本(url链接中带有版本标识)

  4. 数据即是资源,均使用名词(可用复数)——接口尽量使用名字
    存在一个问题:如果都是用名词,就没法区分是增加,删除,修改,查询

  5. 资源操作由请求方式决定

    • 获取数据:get请求
    • 删除数据:delete请求
    • 新增数据:post请求
    • 修改数据:put/patch请求
    • 请求的地址一样,通过请求方式决定对资源进行什么操作
  6. url地址中带过滤参数

    • 获取动物园中所有的动物:127.0.0.1/api/v1/animals——get请求方式
    • 获取动物园所有哺乳类动物:127.0.0.1/v1/animals/?type=哺乳类——get请求
  7. 响应带状态码

    • http状态码:http://tools.jb51.net/table/http_status_code
      • 1xx:表示请求正在处理,但是我们一般是看不到得
      • 2xx:表示请求处理成功(200, 201)
      • 3xx:重定向(301, 302)
      • 4xx:客户端出现错误(403, 404)
      • 5xx:服务端出现错误
    • 响应体中写状态码:公司里都是有自己得规范,在响应体中写状态码({‘code’:100})
  8. 返回错误信息(响应体中带错误信息)
    {‘code’:101, ‘msg’:‘错误’}

  9. 返回结果,针对不同操作,服务器向用户返回得结果应该符合以下格式:

    • GET /collection:返回资源对象得列表
    • GET /collection/resource:返回单个资源对象
    • POST /collection:返回新生成得资源对象
    • PUT /collection/resource:返回完整得资源对象
    • PATCH /collection/resource:返回完整的资源对象
    • DELETE /collection/resource:返回一个空文档

    eg:
    1.获取所有:{code:100,msg:成功,data:[{name:金瓶梅,price:99},{name:西游记,price:88}]}
    2.获取单条:{code:100,msg:成功,data:{name:金瓶梅,price:99}}
    3.新增数据:{code:100,msg:新增成功,data:{name:西游记,price:99}}
    4.修改数据:{code:100,msg:修改成功,data:{name:西游记v2版本,price:99}}
    5.删除数据:{code:100,msg:删除成功}

  10. 响应中带链接

序列化和反序列化

API接口开发最核心的最常见额一个过程就是序列化,所谓序列化就是将数据转化格式,反序列化分为两个阶段:

  • 序列化:就是将我们的格式转换为别人的数据格式
    例如:我们在django中获取到的数据默认是模型对象(queryset),但是模型对象数据无法直接提供给前端或别的平台使用,所以我们需要把数据进行序列化,变成字符串或者json数据,提供给别人。
  • 反序列化:把别人提供的数据转换/还原成我们需要的格式

djangorestframework快速使用

下载模块:安装drf:pip3 install djangorestframework

使用django这个web框架,开发前后端分离项目(模板渲染),只写接口

使用JsonResponse返回即可---》原生django
djangorestframework方便咱们快速写出符合restful规范的接口

写接口:总共就5个以及这5个的变形

  1. 获取所有:get
  2. 获取单个:get
  3. 新增一条:post
  4. 修改一条:put/patch
  5. 删除一条:delete
资源下载链接为: https://pan.quark.cn/s/9648a1f24758 FASTA格式是生物信息学中一种重要的文本格式,用于表示核酸和氨基酸序列。在该格式中,DNA的四种碱基(腺嘌呤、胸腺嘧啶、胞嘧啶和鸟嘌呤)分别用A、T、C、G表示,而RNA中胸腺嘧啶被尿嘧啶(U)替代。蛋白质序列则用20个单字母代码表示氨基酸,如苯丙氨酸用F表示,酪氨酸用Y表示。许多生物信息学数据库,如DIP和NCBI,都以FASTA格式存储大量生物序列数据供研究者使用。研究者在使用BLAST等序列比对工具后,比对结果也常以FASTA格式呈现。在分析这些序列时,研究者可能需要对特定功能域或功能位点进行研究,例如在蛋白质相互作用预测中,对氨基酸序列进行二联体(连续两个氨基酸)或三联体(连续三个氨基酸)特征编码分析,这有助于了解蛋白质的结构和功能。 为了满足对大型FASTA格式序列文件进行特定长度词条特征分析的需求,本文提出了一种新的算法——压缩索引树统计算法。压缩索引树是一种高效存储和检索序列数据的数据结构,该算法通过减少存储空间需求和加快查询速度,优化了现有的生物信息学分析工具,这些工具大多缺乏特定长度词条特征分析功能。在FASTA格式文件中,序列的统计是对28个字母的字符串进行的。文件中,序列说明行以“>”开头,后面是描述序列的文字,之后直到下一个“>”开头的说明行之间是序列本身。目前,常见的分析工具如matlab生物信息学工具箱、PexFinder和BLAST等,均未提供特定长度词条特征分析功能。 文章提到的作者初砚硕是生物信息学领域的学者,他在东北林业大学获得计算机应用技术硕士学位,还在大连理工大学分别获得生物工程和计算机应用技术(第二学位)学士学位。通信联系人刘亚秋也具备丰富的研究背景。FASTA格式作为生物信息学研究的基础,简洁地存储了大量核酸和蛋白质序列信息。随着生物信息学
内容概要:本文档《MATLAB 语言从入门到精通:基础语法与实战案例教程》系统介绍了MATLAB的基础知识及其应用。首先概述了MATLAB的定义、核心优势和适用场景,接着详细讲述了MATLAB的安装与界面构成。文档深入浅出地讲解了MATLAB的基础语法,包括变量与数据类型、运算符、流程控制语句、函数定义与调用等。随后,重点介绍了MATLAB的核心数据结构——矩阵与数组的操作,涵盖矩阵创建、向量操作、单元格数组和结构体的使用。绘图与可视化部分展示了如何使用`plot`、`subplot`、`plot3`等函数进行二维和三维图形的绘制。数值计算章节涵盖了线性代数求解、曲线拟合、数值积分和微分方程求解等内容。符号计算部分介绍了符号变量、微积分运算和方程求解。最后,通过一个信号处理与频谱分析的实战案例,演示了MATLAB在实际问题中的应用,并分享了一些高效的编程技巧。; 适合人群:具备一定数学基础的工科学生、科研人员以及对数据分析、算法开发感兴趣的初学者。; 使用场景及目标:①学习MATLAB的基本语法和核心数据结构,掌握矩阵、向量、单元格数组和结构体的操作;②理解并能够应用MATLAB的绘图和可视化功能;③掌握线性代数求解、曲线拟合、数值积分和微分方程求解等数值计算方法;④学会使用符号计算工具进行精确的数学表达式处理;⑤通过实战案例,掌握信号处理与频谱分析的应用技能。; 其他说明:文档提供了丰富的实例和代码片段,帮助读者更好地理解和掌握MATLAB的各项功能。推荐结合官方文档、经典教材和在线课程进行学习,通过大量实践提升应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值