Python Pyramid - Request 请求对象

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

通常这个对象不会被用户实例化。 相反,它封装了 WSGI 环境字典。 此 request 对象表示"pyramid.request.Request 类"。 它拥有许多属性和方法,视图函数使用这些属性和方法处理请求数据。

下面是一些属性

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

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

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

  • request.params − request.GET 和 request.POST 中所有内容的组合 multidict。

  • 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"