Flask-認識response對象

1.response

  • 視圖函數的返回值會被自動轉換爲一個響應對象。若是返回值是一個字符串,它被轉換爲該字符串爲主體的、狀態碼爲‘200 ok’的、MIME類型是'text/html'的響應對象。

2.Flask是如何把返回值轉換爲響應對象的?

  • 1.若是返回的是一個合法的響應對象,它會從視圖直接返回。
  • 2.若是返回的是一個字符串,響應對象會用字符串數據和默認參數建立。
  • 3.若是返回的是一個元組,且元組中的元素能夠提供額外的信息。這樣的元組必須是(response, status, headers)的形式,且至少包含一個元素。status值會覆蓋狀態代碼, headers能夠是一個列表如[(key1,value1),...]或字典["key1":"value1",...],做爲額外的消息標頭值。
  • 4.若是果上述條件均不知足, Flask 會假設返回值是一個合法的 WSGI 應用程序,並轉換爲一個請求對象。

3.make_response()函數:

  • 若是你想在視圖裏操縱上述步驟結果的響應對象,可使用make_response()函數。
  • 好比你有這樣一個視圖:
    @app.errorhandler(404) def not_found(error): return render_template('error.html'), 404
  • 使用make_response()函數獲取結果對象並修改,而後再返回:
    @app.errorhandler(404) def not_found(error): resp = make_response(render_template('error.html'), 404) resp.headers['X-Something'] = 'A value'
        return resp
相關文章
相關標籤/搜索