Flask中设置响应信息和返回json数据的方法(八)

一、设置响应信息的方法
1、使用元祖,返回自定义的响应信息
from flask import Flask

app = Flask(__name__, template_folder='templates', static_url_path='/static')
@app.route('/index', methods=['GET'])
def index():
     #这里返回的时候是以这样的形式返回的,元祖中必须三个:响应体、状态码、响应头
     # return (u'首页界面', 400, {'itcast':'huaihua', 'province': 'hunan province'})---相同的方式
    return (u'首页界面'(响应体), 400(状态码), [('itcast', 'huaihua'), ('province', 'hunan province')](响应头))

响应头信息

  • 注意:状态码可以是非标准的,并且可以进行对自定义的状态码进行描述(描述最好是英文,不然因为编码不同而报错),以以上例子来进行对状态的操作。
from flask import Flask

app = Flask(__name__, template_folder='templates', static_url_path='/static')

@app.route('/index', methods=['GET'])
def index():
    return (u'首页界面', '666 serverko', {'itcast':'huaihua', 'province': 'hunan province'})

状态码的描述

2、使用make_response来构造响应信息
from flask import Flask, abort, make_response

app = Flask(__name__, template_folder='templates', static_url_path='/static')

@app.route('/index', methods=['GET'])
def index():
    res = make_response(u"首页界面") #设置响应体
    res.status = "999 server999" #设置状态码
    res.headers['city'] = 'huaihua' #设置响应头
    return res
二、返回json数据信息的方法(json就是字符串)
1、通过json.dumps(字典)将字典转化为字符串
  • 首先构造字典
  • 将字典转化为字符串,json.dumps(字典)----》转化为字符串json.loads(字符串)---->转化为字典
from flask import Flask, abort, make_response
import json

app = Flask(__name__, template_folder='templates', static_url_path='/static')

@app.route('/index', methods=['GET'])
def index():
    data_dict = {"city": "怀化", "名字": "小龙"}
    data_json = json.dumps(data_dict)
    return data_json, 200, [("Content-Type", "application/json")]
2、直接通过jsonify来进行对字典数据来操作,并且不需要改变Content-Type类型,直接在页面上显示的就是application/json类型数据
from flask import Flask, abort, jsonify

app = Flask(__name__, template_folder='templates', static_url_path='/static')

@app.route('/index', methods=['GET'])
def index():
    data_dict = {"city": "怀化", "名字": "小龙"}
    data_json = jsonify(data_dict)
    return data_json  #或者直接return jsonify(city='怀化')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值