Flask 的响应 (Response) 对象有哪些常用属性和方法?

推荐答案

在 Flask 中,Response 对象是用于处理 HTTP 响应的核心对象。以下是 Response 对象的常用属性和方法:

常用属性

  • status_code: 响应的 HTTP 状态码,例如 200 表示成功,404 表示未找到。
  • headers: 响应的 HTTP 头信息,可以通过字典形式访问和修改。
  • mimetype: 响应的 MIME 类型,例如 text/htmlapplication/json
  • data: 响应的主体内容,通常是一个字节字符串。
  • content_type: 响应的内容类型,通常与 mimetype 相关联。

常用方法

  • set_cookie(key, value='', max_age=None, expires=None, path='/', domain=None, secure=False, httponly=False, samesite=None): 设置一个 cookie。
  • delete_cookie(key, path='/', domain=None): 删除一个 cookie。
  • set_data(data): 设置响应的主体内容。
  • get_data(as_text=False): 获取响应的主体内容,as_text 参数决定是否以文本形式返回。
  • make_conditional(request): 使响应有条件,通常用于处理 If-Modified-SinceIf-None-Match 头。

本题详细解读

1. status_code 属性

status_code 属性用于设置或获取 HTTP 响应的状态码。常见的状态码包括:

  • 200 OK: 请求成功。
  • 404 Not Found: 请求的资源未找到。
  • 500 Internal Server Error: 服务器内部错误。
-- -------------------- ---- -------
---- ----- ------ ------ --------

--- - ---------------

---------------
--- --------
    -------- - ---------------- -------- -----------
    -------------------- - ---  - ------ ---
    ------ --------

2. headers 属性

headers 属性是一个字典,用于设置或获取 HTTP 响应的头信息。可以通过直接修改字典来添加或删除头信息。

3. mimetypecontent_type 属性

mimetypecontent_type 属性用于设置或获取响应的 MIME 类型和内容类型。mimetypecontent_type 的简化形式。

4. data 属性

data 属性用于设置或获取响应的主体内容。通常是一个字节字符串,但也可以通过 set_data 方法设置。

5. set_cookiedelete_cookie 方法

set_cookie 方法用于设置一个 cookie,而 delete_cookie 方法用于删除一个 cookie。

-- -------------------- ---- -------
-------------------------
--- -------------
    -------- - ---------------- -----
    ------------------------------- -----------
    ------ --------

----------------------------
--- ----------------
    -------- - ---------------- ---------
    ----------------------------------
    ------ --------

6. get_data 方法

get_data 方法用于获取响应的主体内容。as_text 参数决定是否以文本形式返回。

7. make_conditional 方法

make_conditional 方法用于使响应有条件,通常用于处理 If-Modified-SinceIf-None-Match 头。

通过掌握这些属性和方法,你可以更灵活地处理 Flask 中的 HTTP 响应。

纠错
反馈