处理响应

yongheng999 / 2024-07-18 / 原文

flask 如何在不同场景返回不同响应信息呢?

1 返回重定向

  

app = Flask(__name__)


@app.route('/demo')
def demo():
return redirect('http://www.baidu.com',code=201)

2返回json 数据:


@app.route('/demo1')
def demo1():
json_data = {
"name":"zhang",
"age":12
}
return jsonify(json_data)

3自定义响应

 (1)元组方式:

  可以返回一个元组,这样的元组必须是(reponse,status,headers)形式,status值会覆盖状态码,headers可以是一个列表或者字典,作为额外的消息头标识

代码实现:


@app.route('/demo2')
def demo2():
return "自定义响应内容",503,{"my-parm":"Python"}

效果:

 4make_response 方式:

 

代码实现:

@app.route('/demo3')
def demo3():
resp = make_response("make_reponse 响应内容")
resp.status_code = 501
resp.headers["Content-Type"] = "application/json"
resp.headers["my-parm"] = "python3.10"
return resp

 

5返回动态模板内容

实现效果:

 模板内容:

 代码实现:

@app.route('/demo4')
def demo4():
return render_template('index.html',name="zhang",age=14)

企业开发中,返回动态模板内容使用情况最多