关于响应(Response):
视图函数中可以返回以下类型的值:
Response对象。字符串。其实
Flask是根据返回的字符串类型,重新创建一个werkzeug.wrappers.Response对象,Response将该字符串作为主体,状态码为200,MIME类型为text/html,然后返回该Response对象。元组。元组中格式是
(response,status,headers)。response为一个字符串,status值是状态码,headers是一些响应头。如果不是以上三种类型。那么
Flask会通过Response.force_type(rv,request.environ)转换为一个请求对象。
以下将用例子来进行说明:
第一个例子:直接使用Response创建:
from werkzeug.wrappers import Response
@app.route('/about/')
def about():
resp = Response(response='about page',status=200,content_type='text/html;charset=utf-8')
return resp
第二个例子:可以使用make_response函数来创建Response对象,这个方法可以设置额外的数据,比如设置cookie,header信息等:
from flask import make_response
@app.route('/about/')
def about():
return make_response('about page')
第三个例子:通过返回元组的形式:
@app.errorhandler(404)
def not_found():
return 'not found',404