一分钟搞懂Flask中的Response响应

Summer ·
更新时间:2024-09-20
· 691 次阅读

在flask中,想要给前端页面返回数据,必须是Response的对象

1.Response

1.视图函数中return字符串

from flask import Flask app = Flask(__name__) @app.route("/index/") def index(): return "index" if __name__ == "__main__": app.run()

2.return多个值

@app.route("/many/") def many(): return "index", "200 Ok", {"name": "abin"}

index:网页上显示的内容(字符串)
“200 ok”:状态码和对应状态码的解析
{“name”: “abin”}:请求头中的信息
顺序不能改变

3.return make_response

@app.route("/make_response/") def make_response(): response = make_response('index', 200) response.headers["name"] = "abin" return response @app.route("/make_response1/") def make_response(): response = make_response('index') return response,200,{"name" : "abin"} @app.route("/make_response2/") def make_response(): response = make_response('index',200,{"name" : "abin"}) return response

上面三种方法都能正确执行。
make_response(),里面有三个参数,第一个为html页面要显示的字符串,第二个是状态码,第三个是请求头。

4.return Response对象

from flask import Response,render_template @app.route("/Response/") def Response0(): response = Response() response.data = render_template('index.html') return response, 200, {"name": "abin"}

说明:
1.返回值可以和上面一样是多个或者一个,顺序不能错,第一个参数为字符串或者Request对象,第二个参数为状态码,第三个参数为请求头相关。
2.render_template(‘index.html’)的作用是返回一个html页面。

2.Response中的几个常见属性

1.headers:请求头相关
2.status : String类型的数据,格式例如:“200 ok”
3.status_code : int 类型,状态码,不能是自定义的状态码
4.data : 需要返回到前端的数据
5.set_cookie() :设置cookie 的值
6.del_cookie() :删除cookie

下一篇文章将会讲cookies的使用


作者:小铁碗



flask response

需要 登录 后方可回复, 如果你还没有账号请 注册新账号