Flask-响应

响应字符串

Flask调用视图函数后,会将其返回值作为响应的内容。多数情况下,响应就是一个简单的字符串,作为html页面回送客户端。

@app.route('/admin')
def hello_admin():
    return 'Hello Admin'

flask响应状态码默认为200,如果需要修改返回状态码,可以添加到响应中

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

 

如图,只要访问这个url,客户端获得的请求响应就是400。

视图函数返回的响应还可以接受第三个参数,一个由HTTP响应首部组成的字典。

响应对象

Flask视图函数还可以返回一个响应对象,make_response()函数可以接受参数,返回一个响应对象。

@app.route('/')
def index():
    
    reponse=make_response('<h1> this document carries a cooki!</h1>')
    reponse.set_cookie('answer','42')
    return reponse

重定向 

响应有个特殊的类型,称为重定向,这种响应没有页面文档,只会告诉浏览器一个新的url,用以加载新页面。

 url_for()函数对于动态构建特定函数的URL非常有用。实现结果:可以将访问的url定向至其他url

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

特殊响应

由abort()函数生成,用于处理错误。

@app.route('/login',methods = ['POST', 'GET'])
def login():
    if request.method == 'POST':
        if request.form['username'] =='admin':
            return redirect(url_for('success')) #重定向的是函数
        else:
            abort(401)
    else:
        return redirect(url_for('index'))

这里abort(400),页面会直接异常。

猜你喜欢

转载自blog.csdn.net/seanyang_/article/details/125813944
今日推荐