Python Pyramid 简明教程

Python Pyramid - Request Object

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

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

以下是一些 attributes

  1. request.method — 客户端用于发送数据的 HTTP 请求方法,例如 GET、POST

  2. request.GET — 此属性是包含查询字符串中所有变量的多词典。

  3. request.POST — 此属性仅在请求为 POST 且它为表单提交时可用。它是包含请求主体中所有变量的多词典。

  4. request.params − 按 request.GET 和 request.POST 中的所有内容组合的多词典。

  5. request.body − 此属性包含整个请求体,格式为字符串。在请求为非表单提交的 POST 或者 PUT 等请求时,这很有用。

  6. request.cookies − 包含所有 Cookie。

  7. request.headers − 不区分大小写的所有 HTTP 头的词典。

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

  1. request.url − 返回具有查询字符串的完整请求 URL,例如 [role="bare"] [role="bare"]http://localhost:6543/app?name=Ravi

  2. request.host − URL 中的主机信息,例如 localhost

  3. request.host_url − 此属性返回带有主机的 URL,例如 [role="bare"] [role="bare"]http://localhost:6543/

  4. request.application_url − 应用程序的 URL(不含 PATH_INFO),例如 [role="bare"] [role="bare"]http://localhost:6543/app

  5. request.path_url − 包含应用程序的 URL,包括 PATH_INFO,例如 [role="bare"] [role="bare"]http://localhost:66543/app

  6. request.path − 返回包括 PATH_INFO 的 URL,不含主机,例如 "/app"

  7. request.path_qs − URL 中的查询字符串,包括 PATH_INFO,例如 "/app?name=Ravi"

  8. request.query_string − URL 中仅包含查询字符串,例如 "name=Ravi"