Flask Response vs Flask make_response

时间:2016-10-24 11:39:35

标签: python flask

我知道Response是Flask默认用于http响应的内容。对于特定的响应格式,我通常使用make_response。是否有任何特定情况我们必须使用flask.Response而不是flask.make_response?换句话说,flask.make_response是否适用于所有情况,有时flask.Response是唯一或更好的选择?谢谢!

1 个答案:

答案 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()无法提供的参数的子类。