python-web框架Flask-(四)response模块

所有返回前台的内容其实都应该是 Response 的对象或者其子类,我们看到如果返回的是字符串直接可以写成 return ‘字符串’的形式,但是其实这个字符串也是经过了Response包装的:return Response('字符串')

返回字符串:

# 返回一个字符串
@app.route('/str')
def fn1():
    return '返回一个str字符串'
    #最后字符串会被flask包装成如下形式
    return Response('返回一个str字符串') # Response模块需要导入

返回response对象:

# 返回一个response对象,
from flask import make_response # 导入make_response模块
@app.route('/response')
def fn1():
    r = render_template('html.html')
    response = make_response(r,200) # 接受2个参数,第一个参数为:模板或者字符串,第二个参数为:状态码
    print(response) # <Response 280 bytes [200 OK]>
    print(type(response)) # <class 'flask.wrappers.Response'>
    return response

返回字典或元祖、列表等:

使用jsonify模块,首先导入该模块,使用jsonify把字典转化为json字符串:

from flask import jsonify
@app.route('/dict')
def fn1():
    r = jsonify({'name':'lxc','age':20})
    return r

以上都可以返回一个状态码,作为第二个参数。。。

 

abort()

需要导入abort模块,终止响应的意思,通常会在参数中写403:

from flask import abort
@app.route('/list')
def fn():
    d = jsonify({'name':'lxc','age':20})
    l = jsonify([1,2,3])
    t = jsonify(('1,2,3','abc'))
    abort(403)
    return t
'''
当访问该路径时,会报错
You don't have the permission to access the requested resource. It is either read-protected or not readable by the server.
意思是:您没有访问所请求资源的权限。它要么是受读保护的,要么是服务器不可读的。
'''

json.dumps( ) 和 jsonify ( ) 区别

     ( 1 )  jsonify 将数据格式转化为json格式,同时设置返回类型为:application/json

     ( 2 )  json.dumps ( ) 将数据格式转化为json格式,没有设置返回的数据类型,默认类型是:text/html

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值