drf

发布时间 2023-12-20 20:57:29作者: 一粒可海棠

Web开发模式

前后端混合开发模式:

  • 前端写模板,后端处理完数据再渲染后再传给前端展示效果
    image

前后端分离开发模式:

  • 前端发送请求把数据传给后端,后端查询数据处理完以json格式返回给前端,前端渲染完展示页面
    image

API接口

API四大特点

# api接口:通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介
	https://www.baidu.com/books/--->json 格式数据/xml格式---》接口
	json格式:{''}字符串
    xml格式:HTML

# Web API接口和一般的url链接还是有区别的,Web API接口简单概括有下面四大特点
	1 url:长得像返回数据的url链接
    https://api.map.baidu.com/place/v2/search
    2 请求方式:get、post、put、patch、delete
    
    3 请求参数:json或xml格式的key-value类型数据
		-ak:6E823f587c95f0148c19993539b99295
		-region:上海
		-query:肯德基
		-output:json
	
	4 响应结果:json或xml格式的数据
    https://api.map.baidu.com/place/v2/search?ak=6E823f587c95f0148c19993539b99295&region=%E4%B8%8A%E6%B5%B7&query=%E8%82%AF%E5%BE%B7%E5%9F%BA&output=json
	
	# 数据由ajax技术自动转为json格式(字符串)传到后端,后端转为别的格式处理完再以json格式返回给前端
	

接口测试工具

工具:
-postman:浏览器插件,收费
-apifox:Postman + Swagger(接口文档) + Mock(假数据) + JMeter(压测工具)
-postwoman:开源

# 下载和安装
	-https://www.postman.com/
    -双击:Postman-win64-Setup.exe  下载后的软件

postman的路由地址:
1 不会自动补充/
2 在浏览器中会自动补充/,因为它有重定向,当报错是3xx时,会自动再发送一次请求
image
image
image

postman前端编码格式(重要)

1、前端不同编码格式
1 urlencoded

body体中:username=lqz&password=123 django的request.POST取出值

2 json:

body体中 :{"username":"lqz","password":"123"}  django  的request.POST取不出值

3 form-data:

body中格式固定:数据部分和文件部分--》request.POST能取出数据,取不出文件,文件都是从request.FILES
      # 以后一般只传文件,不会文件和数据一起修改
    '----------------------------789048583058585187025897\r\nContent-Disposition: form-data; name="username"\r\n\r\nlqz\r\n 文件二进制'  # 上传图片文件,返回数据,前面是路由,后面是图片的二进制
    # hander请求头
    # \n请求尾
    # \r\n\r\n结束

2、不用pycharm创建项目

  • django-admin startproject 项目名

3、django中的文件对象和原来的文件对象

	-django:from django.core.files.uploadedfile import InMemoryUploadedFile
    -原生文件:_io.BufferedWriter
    -django中文件类没有继承原生文件类,但是由原生文件类所有方法