当前位置: 首页 > news >正文

对网站主要功能界面进行赏析/百度网址入口

对网站主要功能界面进行赏析,百度网址入口,励志故事网站源码,烟台开发区人才市场招聘信息作者:小小程序员链接:https://zhuanlan.zhihu.com/p/83070971来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。怎样彻底学习Flask框架?怎样学习顺序比较合理?1.web框架需要快…

作者:小小程序员
链接:https://zhuanlan.zhihu.com/p/83070971
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

怎样彻底学习Flask框架?怎样学习顺序比较合理?
1.web框架需要快速入门
​ Web框架是一组工具的集合, 为你的Web应用开发提供了基础环境, 从如何获取参数,到如何返回结果, 从如何获取cookie到如何修改返回的http header。Web框架帮你隐藏了HTTP协议的细节, 你作为一个使用者只需要关心如何实现功能,而不需要底层到底实现的是什么。
2.Web框架很多, 不同的语言都有自己实现的不同的Web框架. 每一种都有各自不同的实现思路, 有不同的开发哲学, 不管是就换工作换开发栈的需要, 还是学习本身的需要, 快速的多掌握几个框架还是很有必要的.
3.web框架的工作方式
现代的Web框架,不管其采用何种设计思想, 开发哲学, 根本的工作模式是相似的,均是从接收HTTP请求,处理HTTP的各项参数,路由到相应的用户实现的处理器上, 再获取返回的结果, 生成HTTP的Response。
流程图: blockchain
4.web框架的工作流程

cd8dba6dad0f61ede1afaa1eb5eb2750.png


URL路由
​ 一般来说现在大部分的Web框架对于将HTTP请求交给哪一个逻辑来处理, 是由URL路由框架的模块来决定的. URL路由模块会提供一些函数或者装饰器等方式, 让用户来写一些代码, 将URL和控制器的绑定关系注册到框架中. 大多数的框架都支持在URL路由的定义中使用正则表达式.有的支持在URL中定义参数,框架会自动在URL中将参数截取出来保存在框架的上下文中以供控制器使用.
控制器
​ 控制器是用户自己实现的类或者函数, 用来处理HTTP请求, 确切的说是指定URL发来的请求, 并且将业务逻辑的结果返回给框架,有框架去决定如何解析成HTTP的响应数据输出.框架需要给控制器提供HTTP请求的完整上下文环境,那么我们在学习框架使用的时候, 首先就要在文档中整理清楚下面的这些问题:
如何获取Query String参数?
​ QueryString是url中?后定义的由&符号分割的key=value形式的参数, 框架会在解析HTTP协议的时候将这个部分的数据转化成比如字典之类的数据结构存起来, 然后提供相应的API去访问.但是QueryString都是只读的, 有一些框架会提供一些工具帮助用户组装URL, 比如Flask提供了url_for用来组装转跳到指定控制器的URL, 方便你在页面上渲染相应的标签
如何获取Form表单的数据? json?boby ?
​ POST和PUT方法是HTTP协议中主要的接收数据的语义, 传输数据需要相应的编码方式将数据编码后放在HTTP协议的Body部分. 编码方式现在主要有两种, 一种是最古老的用Form表单编制数据的方式, 另外一种是将数据用json字符串直接放到HTTP协议的body部分. 网页上的应用多数会采用Form表单, 因为这是浏览器对Form表单的默认支持, 而App的后端大多采用JSONString放在body来传数据的方式, 优点是可以传送复杂的数据结构.Web框架会提供相应的API去按照这两种方式获取Body的内容, 但是有的框架会根据header里的content-type来判断是不是可以按照JSON去解析body的内容.
如何读取和修改cookie?
​ cookie是浏览器(客户端)在多次请求之间共享数据的一个数据结构, 因为HTTP协议是无状态的,所以cookie在每一次请求的时候都会从浏览器放到HTTP请求中传到服务端, 在服务端生成响应的时候也会写入HTTP响应里传回浏览器. 从而实现了在两次请求之间共享了数据. Web框架会提供对应的API去读取和修改cookie的值, cookie是key-value形式的, 访问的方式应该和字典类似.
如何获取 headers ?
​ headers对应到HTTP协议中HTTP请求的头部, 是一个key-value形式的数据格式.headers是HTTP请求的一些额外的描述信息, 比如客户端类型, 字符编码方式, 认证信息等. headers的key是固定的, 你不能自己随便定义一些特殊key, 并且headers部分也是只读的.框架会提供对应API去读取headers.
如何实现页面转跳 ?
​ 有些时候在处理完数据后需要通知浏览器转跳到对应的看数据的URL上去, 就需要在文档里找找如何实现页面转跳. 服务端返回给客户端一个HTTP协议中的301或者302的状态, 就可以让浏览器去执行转跳的动作, 作出这样子的HTTP响应在框架中会有对应的API.
如何输出Http响应 ?
大多数的Web框架都是用函数(方法)的返回值来作为Http响应的body的, 所以你在很多示例中可以看到 return ‘fu qiang’ 这样子的写法, 框架会自动把字符串转换成Response的对象再去做编码成Http响应的操作. 针对App的API会比较方便, 输出JSON的字符串就行了. 如果是网站的话, 需要输出HTML页面,有一些框架提供了内置的模板引擎, 用于渲染输出html内容(其实不限html, xml的内容也可以由模板引擎来渲染). 有的框架自己不提供模板引擎, 你可以用你喜欢的模板引擎来渲染.
流程图如下:

77295803a89aac898a17d7c51d658a0b.png


5.web框架所需的开发环境
Web框架的开发环境由其实现的语言来决定, 比如说Python的pycharm 和 vscode 等 IDE 集成环境。
6.web框架一些常用的配置文件
配置Web框架的一些参数,这需要直接看配置文件或者自定义配置文件
7.web框架所需要的模版引擎
​ 前面在控制器的部分提到了模板引擎, 模板引擎主要负责用数据替换模板上的占位符生成最终结果的文本. 工作方式可以简化为下图:

d1babc816b0fdacd635673fc8b2ec8c0.png


这里详细的说一下模板引擎部分在学习的时候要注意那一些要点:
占位符如何定义
如何定义循环
如何定义判断条件
如何对占位符加过滤器
如何定义继承模板
如何定义嵌套模板
8.web框架的中间件或者钩子函数
​ 中间件是AOP模式统一在每个请求的开始和结束部分注入代码的机制, 最常见的有两个级别的中间件, 一个是Application级别的, 也就是在应用启动和结束的时候执行注入的代码, 另一个是Request级别的, 主要是在每个请求开始和结束的时候执行, 比如统一的鉴权,数据库连接管理(打开,关闭), 统一的错误处理 都可以在这里完成.

35760694443a51c64adc8191bd749078.png


9.统一的错误处理
​ 框架是提供了统一错误处理机制的, 当在控制器中发生了没有捕获或者重新抛出的异常的时候, 就会执行到统一错误处理的部分。
10.鉴权
​ 通过cookie或者auth2.0和中间件可以很轻松的实现鉴权和Session机制。
11.生产部署的方式
​ 尽可能的做压力测试, 以至于让你的项目能够正式的上线, 需要了解如何部署生产环境。

http://www.jmfq.cn/news/5195359.html

相关文章:

  • 网站备案需要去公安局/郑州网站制作
  • 无锡兼职做网站/dz论坛seo设置
  • 网站接入商查询/班级优化大师免费下载安装
  • 如何做让公众都知道的网站/金蝶进销存免费版
  • 100m光纤做网站/最全bt搜索引擎入口
  • 个人做电子商务网站/淘宝培训
  • 石家庄机票网站建设/正规引流推广公司
  • 手机响应式网站怎么做/seo培训学校
  • 微信导航网站如何建设/百度sem运营
  • 公司网站管理属于什么职位/怎么让百度搜索靠前
  • 建设网站需要什么信息/凡科建站的优势
  • 温州市网站制作/游戏推广渠道
  • 无极在线最新招聘找工作/宁波关键词优化企业网站建设
  • 网站建设软件设计/b2b网站大全
  • 向国旗敬礼 做新时代好少年网站/下载百度网盘app
  • 传奇手游网站大全9377/广告销售如何寻找客户
  • 自己做抽奖网站违法吗/seo网站优化策划书
  • 代做网站作业/百度客服电话人工服务热线
  • 网站登录按纽是灰色的/app开发定制
  • 高明骏域网站建设/seo教程论坛
  • 永安网站建设/优化视频
  • 二维码生成器免费版/青岛seo整站优化哪家专业
  • 安卓做网站/百度网首页
  • 可以仿做网站吗/网店代运营公司
  • 企业网站建设的基本流程/外贸接单网站
  • python flask做网站/bt磁力猪
  • 如何用dw做网站首页/网站流量排名
  • 网站建设公司浩森宇特/aso网站
  • 网站开发工作总结/百度站长工具怎么查排名
  • 如何做关于橱柜网站/推广怎么推