Flask入门系列教程(二).docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
请求响应循环 其实大家对于HTTP协议应该是再熟悉不过了,它是超文本传输协议,定 义了服务器和客户端之间信息交流的格式和传递方式。 那么对于上面的问题,我们其实也可以大致的说出一个简易流程: L按下Enter之后,浏览器会向URL地址发送一个HTTP请求 2.在浏览器的背后,有一个后台程序,用于接收相关请求,并返回处理的结果 3?浏览器接收结果,并渲染给终端用户查看 事实上,每一个Web应用都包含这种处理模式,即“请求?响应循环 (Request-Response Cycle) ”:客户端(浏览器等)发出请求,服务端处理请求 并响应。 我们再把上面的流程扩展到Flask服务器上,就是山浏览器生成的HTTP 请求发送至Web服务器。Web服务器接收到请求后,经山WSGI协议把数据转 换成Flask程序能够识别的数据后,传递给Fbsk程序。然后Rask程序再根据 视图函数等处理相关请求,最后再返回响应给Web服务器。最终交由浏览器来 渲染结果,比如加载CSS,执行JavaScript代码等等操作。 我们可以看下下面的图片 II ri p 服务器端 w服务器数据库 w服务器 数据库 WS(;I WS(;I Flask 程序 form form 表单数据 这里有两个概念我们要先明确下 Web服务器:Web服务器是一类特殊的服务器,其作用是主要是接收 HTTP请求并返回响应。我们常用的Web服务器有Nginx, tomcat等,相信大 家都非常熟悉或多少听说些。 WSGI:它确切来说应该是一种协议,或者接口规范。定义了 web服务器 和web应用(Flask等)之间的接口规范。只有Web服务器和Web应用都遵守 了 WSGI协议,那么他们才能正常通信。 比如说在上一节我们使用app.runO启动测试服务器时,就是使用了 Flask 自带的Web服务器,当然这种服务器只能用来开发测试时使用,在生成环境, 我们需要部署到Nginx等Web服务器上。 Flask上下文HTTP请求当Fbsk Flask上下文 HTTP请求 当Fbsk接收到客户端的请求后(后面的章节中我们都会直接省略Web服 务器和WSGI的转换步骤),就会产生一些视图函数可以访问的对象,通过这 些对象来处理请求,这就是请求对象-requestO request对象包含了 HTTP请求中的URL信息和相关的报文信息 URL信息 例如请求URL为: 属性 值 path /hello fulLpath 7heHo?naine= xxxxx host xxx.xxxxxxxxi.t op host_url ?xxxx://xxx?xxxxxxxx?t op* base_url ?xxxx://www?xxxxxx?t op /hello url xxxx://xxx.xxxxxxxi.xxx/hello?name=xxxxx xxxx://xxx?xxxxxxxi?xxx/hello?name=xxxxx 报文信息 说明属性或方法 说明 argscookies查询字符串信息 args cookies cookies信息字典 data字符串形式的请求数据 data 字符串形式的请求数据 属性或方法 说明 getJsonO 获取json类型的请求数据 method 请求的HTTP方法 下面我们通过一个简单的例子来具体査看下 @ap p.route(ytestf) def test_view(): query = Flask if request.args: query = request.args.get(name\ Flask? host = requestJiost path = request.full _p ath cookie = requestxookies method = request.method return * hl vpquery string: %s/p phost: %sZp vpApath: %s/p pxookies: %s/p pmethod: %s/p /hl z % (query, host, pdth. cookie, method) 当我们在浏览器输入;xxxx://xxx?0?0?l:5000/testA 可以得到 query string: Flask path: /test/? cookies: {session*: *.eJwlzjEOwzAIAMC_MGcAjLHJZyJsg9o1aaaqf2 lrjfdG44843rAjrv2OB4LtjBhMKWt5msbVBgrKJB1hcTEc7QLFXaFG c8QfL40UC09.EK pp fg3uAaGLfX7iMgBo-13-PcMtgfd-E} method: GET 当我们

文档评论(0)

大宝&小宝 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档