在flask中,想要给前端页面返回数据,必须是Response的对象
1.Response1.视图函数中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页面。
1.headers:请求头相关
2.status : String类型的数据,格式例如:“200 ok”
3.status_code : int 类型,状态码,不能是自定义的状态码
4.data : 需要返回到前端的数据
5.set_cookie() :设置cookie 的值
6.del_cookie() :删除cookie
下一篇文章将会讲cookies的使用