我知道Response
是Flask默认用于http响应的内容。对于特定的响应格式,我通常使用make_response
。是否有任何特定情况我们必须使用flask.Response
而不是flask.make_response
?换句话说,flask.make_response
是否适用于所有情况,有时flask.Response
是唯一或更好的选择?谢谢!
答案 0 :(得分:15)
make_response()
为您提供了一个便利界面,它将采用比flask.Response()
对象更多格式的参数。
此外,make_response()
使用Flask.response_class
属性(所以app.response_class
)来构建响应。 Flask.response_class
的默认值为flask.Response
,但您可以将此值设置为子类。
因此,您应该始终使用make_response()
,而不是直接使用flask.Response()
,尤其是如果您想支持更换实际用于回复的Response
类。
你可能必须直接使用app.response_class
,如果它是一个接受make_response()
无法提供的参数的子类。