2.4 响应

——————————————————————前言————————————————————————————

Flask调用视图函数以后, 会将其返回值作为响应的内容。 本节我们来介绍4种响应。


第一种响应:

@app.route('/')

def index():

    return '<h1>Bad Request</h1>', 400

实例的返回语句有两个返回值, 第一个是简单字符串,  第二个是状态码, 有时候也会有第三个参数——由响应报文首部组成的字典。


第二种响应:

from flask import make_response

@app.route('/')

def index():

    response = make_response('<h1>This document  carries a cookie!</h1>')  

    response.set_cookie('answer', '42')

    return response

make_response函数可以接受1, 2或3个参数, 和第一种响应的返回值一样, 并且返回一个相应对象response。

我们可以用相应对象调用各种方法进一步设置响应, 该例设置了响应的cookie。

最后返回相应对象。


第三种响应:

from flask import redirect

@app.route('/')

def index():

    return redirect('http://www.example.com')

该响应为重定向响应,重定向响应的状态码为302, 指向地址由Location首部提供。 

重定向响应可以采取第一, 二种响应形式, 不过由于使用频繁, Flask提供了redirect()辅助函数, 其参数是重定向的网址。


第四种响应:

from flask import abort

@app.route('/user/<id>')

def get_user(id):

    user = load_user(id)

    if not user:

        abort(404)

    return '<h1>Hello, %s</h1>' %user.name

abort函数用于处理错误, 该例中如果用户不存在, 就返回状态码404. 

注意:abort函数不会把控制权交回视图函数, 而是抛出异常把控制权交回web服务器。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值