内容简介:我们都知道当浏览器发起一个请求时,服务器会给一个响应。这个响应包含了返回的内容类型,状态码,服务器版本等一些。如下图:如果我们不进行修改这里面的响应信息,它会返回默认信息。如果我们要自定义响应信息,必须返回的是元组,并且是(response,status,headers)这样的数据结构,至少要有response。 status指定的是HTTP状态码,可以是HTTP中状态码,也可以是自定义的状态码。headers指的是额外的响应头。
我们都知道当浏览器发起一个请求时,服务器会给一个响应。这个响应包含了返回的内容类型,状态码,服务器版本等一些。如下图:
如果我们不进行修改这里面的响应信息,它会返回默认信息。
二、自定义响应信息
如果我们要自定义响应信息,必须返回的是元组,并且是(response,status,headers)这样的数据结构,至少要有response。 status指定的是HTTP状态码,可以是HTTP中状态码,也可以是自定义的状态码。headers指的是额外的响应头。
from flask import Flask, abort, Response
app = Flask(__name__)
@app.route('/')
def index():
# return ('自定义响应信息', 502, {"name": "xiaosong", "age": 12})
# 可以不加括号,会自动组装成元组
# return '自定义响应信息', 502, {"name": "xiaosong", "age": 12}
# 自定义状态码 可以加上描述信息
return '自定义响应信息', '520 love error', {"name": "xiaosong", "age": 12}
if __name__ == '__main__':
# 0.0.0.0代表任何能代表这台机器的地址都可以访问
app.run(host='0.0.0.0', port=5000, debug=True) # 运行程序
复制代码
我们在浏览器调试一下:
三、make_response
上面返回自定义响应信息,可以用make_response函数。make_response(),相当于Django中的HttpResponse,效果是一样的。
from flask import Flask, abort, Response, make_response
app = Flask(__name__)
@app.route('/')
def index():
# return ('自定义响应信息', 502, {"name": "xiaosong", "age": 12})
# 可以不加括号,会自动组装成元组
# return '自定义响应信息', 502, {"name": "xiaosong", "age": 12}
# 自定义状态码 可以加上描述信息
# return '自定义响应信息', '520 love error', {"name": "xiaosong", "age": 12}
resp = make_response()
resp.headers['name'] = 'xiaosong'
resp.status = '520 love error'
return resp
if __name__ == '__main__':
# 0.0.0.0代表任何能代表这台机器的地址都可以访问
app.run(host='0.0.0.0', port=5000, debug=True) # 运行程序
复制代码
四、jsonify
当我们做前后端分离项目,会前端使用ajax请求的时候。我们都会使用JSON作为前后端交互的数据格式,在Django中有个JsonResponse可以返回Json,在Flask中我们用jsonify返回Json。
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def index():
data = {
'name': 'xiaosong',
'age': 12,
'gender': '女'
}
return jsonify(data)
if __name__ == '__main__':
# 0.0.0.0代表任何能代表这台机器的地址都可以访问
app.run(host='0.0.0.0', port=5000, debug=True) # 运行程序
复制代码
我们在浏览器调试一下:
欢迎关注我的公众号:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Genesis框架从入门到精通(7): 框架的过滤器
- Genesis框架从入门到精通(10): 样式函数
- Flask框架从入门到精通之扩展脚本(十五)
- Flask框架从入门到精通之模型查询(十三)
- Flask框架从入门到精通之Response(七)
- Flask框架从入门到精通之Request(六)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First Python
Paul Barry / O'Reilly Media / 2010-11-30 / USD 49.99
Are you keen to add Python to your programming skills? Learn quickly and have some fun at the same time with Head First Python. This book takes you beyond typical how-to manuals with engaging images, ......一起来看看 《Head First Python》 这本书的介绍吧!