Python Pyramid - 请求对象


可调用视图的功能涉及从 WSGI 环境获取请求数据,并在处理后将某个 HTTP 响应返回给客户端。视图函数接收 Request 对象作为参数。

通常该对象不是由用户实例化的。相反,它封装了 WSGI 环境字典。该请求对象代表“pyramid.request.Request 类”。它拥有许多属性和方法,视图函数使用这些属性和方法处理请求数据。

以下是一些属性-

  • request.method - 客户端发送数据所使用的 HTTP 请求方法,例如 GET、POST

  • request.GET - 该属性是包含查询字符串中所有变量的多重字典。

  • request.POST - 仅当请求是 POST 并且是表单提交时,此属性才可用。它是一个包含请求正文中所有变量的多重字典。

  • request.params - request.GET 和 request.POST 中所有内容的组合多重字典。

  • request.body - 该属性包含整个请求正文作为字符串。当请求是不是表单提交的 POST 或类似 PUT 的请求时,这非常有用。

  • request.cookies - 包含所有cookie。

  • request.headers - 所有 HTTP 标头的不区分大小写的字典。

除了上述HTTP特定环境属性之外,Pyramid还添加了某些特殊属性。

  • request.url - 返回带有查询字符串的完整请求 URL,例如 http://localhost:6543/app?name=Ravi

  • request.host - URL 中的主机信息,例如 localhost

  • request.host_url - 此属性返回主机的 URL,例如 http://localhost:6543/

  • request.application_url - 应用程序的 URL(不带 PATH_INFO),例如 http://localhost:6543/app

  • request.path_url - 包含应用程序的 URL,包括 PATH_INFO,例如 http://localhost:66543/app

  • request.path - 返回包含 PATH_INFO 且不含主机的 URL,例如“/app”

  • request.path_qs - URL 中的查询字符串,包括 PATH_INFO,例如“/app?name=Ravi”

  • request.query_string - 仅 URL 中的查询字符串,例如“name=Ravi”