关于响应(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