flask返回数据类型
服务器这种后台返回的数据只能是string,json或者是文件类型,对应Html的解析文件类型
无法返回自定义的元组,只能返回规定好的元组,说白了只第一个元素有效
所有返回前台的内容其实都应该是Response的对象或者其子类,我们看到如果返回的是字符串直接可以写成return u'字符串内容'的形式,但是其实这个字符串也是经过了Response包装的:return Response(u'字符串') 我们看一段代码:# coding: utf-8from flask import Flask, Responseapp = Flask(__name__) # type: Flask app.debug = True@app.route('/') def hello_world():return 'Hello World!'@app.route('/login/') def login():return Response(u'login')if __name__ == '__main__':app.run()代码里我新建了一个login函数,返回的就是用Response包装后的字符串,访问地址可以看到页面打印了login。我们有时候需要返回数组、字典之类的数据,但是数组或者字典这些数据是不能直接return的。这个时候怎么办呢?答案就是你必须将数组或字典转换成json后再返回(这就是为什么我们做接口测试的时候传参前用json.loads()将字符串转换成字典的原因了),因为json就是一个字符串。数组或字典转换成json的函数叫做jsonify,你需要先导入from flask import jsonify或者像船长下面代码里写的那样,一下子导入好几个库:# coding: utf-8from flask import Flask, Response, jsonifyapp = Flask(__name__) # type: Flask app.debug = True@app.route('/') def hello_world():return 'Hello World!'@app.route('/login/') def login():dict1 = {"name": "Warren"}return jsonify(dict1)if __name__ == '__main__':app.run() 上面代码里`dict1`的数据类型是一个字典,我们通过`jsonify()`将其转换成了`json`,就可以成功返回了,去页面,看到:除了字符串以外,还可以返回元组,但是返回元组是有要求的,元组内容包括三个参数:response、status_code、headers,其中:response指页面打印信息,可以是字符串或Response对象status_code指状态码,成功200,找不到页面404等等headers指信息头# coding: utf-8from flask import Flask, Response, jsonifyapp = Flask(__name__) # type: Flask app.debug = True@app.route('/') def hello_world():return 'Hello World!'@app.route('/login/')def login():dict1 = {"name": "Warren"}return jsonify(dict1)@app.route('/set/') def myset():return u'返回元组', 200, {"name": "Warren"}if __name__ == '__main__':app.run() 看上面代码的myset函数,我return了一个元组(单个值的元组可以不写括号,而且如果你加上括号,pycharm会有黄线提醒你remove redundant parentheless,意思就是去掉多余的括号)。 然后我们到页面访问/set/这个页面,打开F12就是开发者工具,然后刷新页面:
元组
demo.py(函数返回多个值(元组)):# 定义函数,有多个返回值(返回元组) def measure():"""测量温度和湿度"""print("测量开始...")temp = 39wetness = 50print("测量结束...")# 元组-可以包含多个数据,因此可以使用元组让函数一次返回多个值# 如果函数返回的类型是元组,小括号可以省略# return (temp, wetness)return temp, wetness # 小括号可以省略# 元组 result = measure() print(result) # (39, 50)# 需要单独的处理温度或者湿度 - 不方便 print(result[0]) # 39 print(result[1]) # 50# 如果函数返回的类型是元组,同时希望单独的处理元组中的元素 # 可以使用多个变量,一次接收函数的返回结果 # 注意:使用多个变量接收结果时,变量的个数应该和元组中元素的个数保持一致 gl_temp, gl_wetness = measure() # 接受函数多个返回值print(gl_temp) # 39 print(gl_wetness) # 50 demo.py(利用元组交换变量值):a = 6 b = 100# 解法1:-使用其他变量 # c = a # a = b # b = c# 解法2:-不使用其他的变量 # a = a + b # b = a - b # a = a - b# 解法3:-Python 专有 # a, b = (b, a) # 提示:等号右边是一个元组,只是把小括号省略了 a, b = b, aprint(a) # 100 print(b) # 6———————————————— 版权声明:本文为CSDN博主「houyanhua1」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/houyanhua1/article/details/83999767
转载于:https://www.cnblogs.com/BlueFire-py/p/11384182.html
flask返回数据类型相关推荐
- WebAPI返回数据类型解惑 以及怎样解决Extjs无法解析返回的xml
最近开始使用WebAPI,上手很容易,然后有些疑惑 1.WebAPI默认返回什么数据类型,json还是xml? 2.怎么修改WebAPI的返回数据类型 ,我用IE浏览器请 求返回的数据都是JSON格式 ...
- WebAPI返回数据类型
最近开始使用WebAPI,上手很容易,然后有些疑惑 1.WebAPI默认返回什么数据类型,json还是xml? 2.怎么修改WebAPI的返回数据类型 ,我用IE浏览器请求返回的数据都是JSON格式的 ...
- springboot控制接口返回的字段_SpringBoot实战:SpringBoot之Rest Full接口自定义返回数据类型(ResponseBodyAdvice)...
我们在日常开发的过程中,经常会要求统一返回数据格式.如要求统一访问格式为 { "success": 请求是否成功, "message": 请求消息, " ...
- ajax返回数据类型为JSON数据的处理
ajax返回数据类型为JSON数据的处理 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...
- 11月13日上午ajax返回数据类型为JSON数据的处理
ajax返回数据类型为JSON数据的处理 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...
- Hibernate→HQL、query.list()返回数据类型、查询相关语句、分页、原生SQL、@注解、持久化对象状态及生命周期、一多关系、继承映射关系、逆向工程
HQL Query实例与表 session通用工具类 Query对象 from 类→List<类>接收 映射类 仅查询商品 查询商品及所在商家 别名 返回数据类型定义 Iterator接收 ...
- 如何从返回数据类型为json的数据中提取特定数据?
1.首先ipmort import jsonimport requests 2.接口返回数据 response = requests.post(request_url, data=params, he ...
- ts(TypeScript)定义服务器返回数据类型
ts(TypeScript)定义服务器返回数据类型 1.定义基本返回类型 export type JSONResponse = {stat: string;msg?: string; }; stat: ...
- mybatis返回数据类型为map,值为null的key没返回
创建mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...
最新文章
- IntelliJ IDEA 新版介绍
- python --time()函数
- java resources目录 编码_关于Java项目读取resources资源文件路径
- JQuery仿最新淘宝网首页带箭头幻灯片,JQuery轮播图
- linux 版本的scipy,Linux 系统中 SciPy (Python 3) 编程环境
- 《SQL初学者指南(第2版)》——2.4 指定列
- php强大的函数,PHP中一些功能强大却很少使用的函数
- hacker基础教程
- java批量实现1对1关系的自动匹配_杂谈Java内存Webshell的攻与防
- Openlayers 详细记录controls(控件)
- 《商务与经济统计》学习笔记(七)—各统计分布知识点归纳
- 松下新一代电力线通信(PLC)技术经IEEE P1901.3工作小组批准成为基准规范
- 架构 - 5种常见的软件架构
- excel统计填充色单元格数
- 无人驾驶能解决什么问题?
- 华为鸿蒙电视v65如何,华为智慧屏V65体验:不谈鸿蒙OS,作为大屏它也足够惊艳...
- ios 使用隐私条款
- 一篇文章学会二进制的运算以及原码、反码、补码
- 如何在Python编码面试中脱颖而出
- MySQL性能优化Buffer Pool详细介绍