Python Pyramid 简明教程

Python Pyramid - Response Object

Response 类定义在 pyramid.response 模块中。此类的对象由视图可调用项返回。

from pyramid.response import Response
def hell(request):
   return Response("Hello World")

响应对象包含一个状态代码(默认为 200 OK),一个响应标头列表和响应正文。大多数 HTTP 响应标头可用作属性。Response 对象可用的属性如下 −

  1. response.content_type − 内容类型是一个字符串,例如 – response.content_type = 'text/html'

  2. response.charset − 它还在 response.text 中提供编码信息。

  3. response.set_cookie − 此属性用于设置 Cookie。需要提供 name、value 和 max_age 这些参数。

  4. response.delete_cookie − 从客户端删除 Cookie。实际上就是将 max_age 设置为 0,并将 Cookie 值设置为 ''。

pyramid.httpexceptions 模块定义了处理错误响应(例如 404 Not Found)的类。这些类实际上是 Response 类的子类。其中一个这样的类是 "pyramid.httpexceptions.HTTPNotFound"。它的典型用法如下 −

from pyramid.httpexceptions import HTTPNotFound
from pyramid.config import view_config
@view_config(route='Hello')
def hello(request):
   response = HTTPNotFound("There is no such route defined")
   return response

我们可以使用 Response 类的 location 属性将客户端重定向到另一个路由。例如 −

view_config(route_name='add', request_method='POST')
def add(request):
   #add a new object
   return HTTPFound(location='http://localhost:6543/')