python Flask Response

Flask Response

1. redirect原理:

只要HTTP的Response Headers中有Location 就会将我们redirect到其对应的url

2. send_file("文件路径")

返回文件 其实也就是将Response中的Content-type 改成文件能被客户端(浏览器)识别的文件类型

  • 访问py文件 text/plain;

image-20200710233041200

  • jpg (image/jpeg)
  • mp4 (video/mp4) image-20200710233227221
  • exe application/(x-msdownload) x: 二进制 ms : 微软 wma(win7)

实际上浏览器会识别我们的content-type 将对应的类型变成标签插入页面 (Flask做的其实就是把我们的content-type改成对应类型)

不能识别的类型 浏览器会下载处理

二进制文件实际上在头部第一行都会写文件的文本类型,如果删掉的话就会变成流文件

3. jsonify

image-20200710234248530

实际上就是将congtent-type 改成了application/json

3.1 Flask 1.1.1 版本

如果不带content-type,直接return字典,

也会将其content-type改为json,不建议这样使用(为了兼容性)

修改jsonify修改的格式

image-20200710234603457

浏览器无法识别这个content-typeo的时候,会下载当前文件

如果将jsonify注释掉,直接返回字典时却还会返回json格式

image-20200710234727690

这证明了 Flask 1.1.1中, 直接返回dict的时候 本质上在执行jsonify

3.2 Ajax接口

这个application/json在API接口的时候最有用

image-20200710235007259

ajax在执行时 返回的data 会直接将data变成obj格式

4. 引入模块快捷键

Pycharm提供了一个快捷键 在下面代码中输入了某个未引用的模块(有红色波浪线)

我们可以alt + enter 直接让他在头部自动引入包

image-20200710232713995

posted on 2020-07-10 23:57  sunnywillow  阅读(560)  评论(0编辑  收藏  举报