栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

flask(十)----响应对象

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

flask(十)----响应对象

主要的响应对象类型Content-Type有:

        1.文本 text/plain

        2.HTML text/html

        3.XML application/xml

        4.json application/json

1.手动构造json响应头和响应状态码:

import json

from flask import Flask

app = Flask(__name__)


@app.route('/')
def index():
    # 构造响应头信息,返回json对象
    info_dict = {"user_name": "chuntian", "age": "4", "gender": "male"}  # info_dict为python中的字典对象
    return json.dumps(info_dict), 201, {"content-type": "application/json"}


if __name__ == '__main__':
    app.run(debug=True)

 2.make_response()方法构造响应对象

from flask import Flask

app = Flask(__name__)


@app.route('/')
def index():
    # 构造响应头信息,返回json对象
    info_dict = {"user_name": "chuntian", "age": "4", "gender": "male"}  # info_dict为python中的字典对象
    # return json.dumps(info_dict), 201, {"content-type": "application/json"}
    from flask import make_response
    res = make_response(info_dict, {"content-type": "application/json"})    # make_response()可构造响应
    res.status = "202"
    return res


if __name__ == '__main__':
    app.run(debug=True)

 3.flask中的jsonify()方法构造json响应对象

from flask import Flask

app = Flask(__name__)


@app.route('/')
def index():
    # 构造响应头信息,返回json对象
    info_dict = {"user_name": "chuntian", "age": "4", "gender": "male"}  # info_dict为python中的字典对象
    # return json.dumps(info_dict), 201, {"content-type": "application/json"}
    # from flask import make_response
    # res = make_response(info_dict, {"content-type": "application/json"})    # make_response()可构造响应
    # res.status = "202"
    from flask import jsonify
    res = jsonify(info_dict)
    res.status_code = '203'
    return res


if __name__ == '__main__':
    app.run(debug=True)

 4.响应中文:

        无论使用json.dumps()还是jsonify(),返回的都是字符的原生格式。通过设置实现返回中文。

        :json.dumps({"name": "春田"}, ensure_ascii=False) 

   : app.config['JSON_AS_ASCII'] = False

                jsonify({"name": "春田"})

from flask import Flask

app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False     # 允许解码中文 
app.config['MAX_CONTENT_LENGTH'] = 10 * 1024 * 1024     # 限制上传的文件大小


@app.route('/')
def index():
    # 构造响应头信息,返回json对象
    info_dict = {"user_name": "春田", "age": "4", "gender": "男"}  # info_dict为python中的字典对象
    # return json.dumps(info_dict), 201, {"content-type": "application/json"}
    # from flask import make_response
    # res = make_response(info_dict, {"content-type": "application/json"})    # make_response()可构造响应
    # res.status = "202"
    from flask import jsonify
    res = jsonify(info_dict)
    res.status_code = '203'
    return res


if __name__ == '__main__':
    app.run(debug=True)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768927.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号