Python Pyramid - 响应对象


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

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

响应对象包含状态代码(默认为 200 OK)、响应标头列表和响应正文。大多数 HTTP 响应标头都可作为属性使用。以下属性可用于响应对象 -

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

  • response.charset - 它还通知response.text中的编码。

  • response.set_cookie - 该属性用于设置 cookie。需要给出的参数是名称、值和 max_age。

  • 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/')