My favorites | 中文(简体) | Sign in

构建响应

请求处理程序实例使用其 response 属性构建响应。这由应用程序初始化为空 Response 对象。

Response 对象的 out 属性是一种类似文件的对象,可以用于编写响应的主体。

class MyHandler(webapp.RequestHandler):
  def get(self):
    self.response.out.write("<html><body><p>Hi there!</p></body></html>")

[out] 流会缓冲内存中的所有输出,然后在处理程序退出时发送最终输出。webapp 不支持到客户端的流数据。

[clear()] 方法会清除输出缓冲的内容,将其留空。

如果写入到输出流的数据为 Unicode 值,或者响应包含以 ; charset=utf-8 结尾的 [Content-Type] 标头,则 webapp 会将输出编码为 UTF-8。默认情况下,[Content-Type] 标头为 text/html; charset=utf-8 格式,包括编码行为。如果 [Content-Type] 更改为采用不同的 charset,则 webapp 会假设输出为要逐字发送的字节字符串。

注意:虽然 Request 类是从 WebOb 库衍生的,但 Response 类不是。不过,Response 类包含多种行为类似等效 WebOb 的方法。(以后的 API 版本可能直接使用 WebOb 类。)