Python数据分析与可视化:实战案例解析
126
2023-10-25
【摘要】 本书摘自《零基础Python 从入门到精通》一书中第19章,第1节,编者是壹零快学。
第 19 章
使用 Django 创建 Web 站点
19.1 常见的Web开发框架
19.1.1 Python与Web
随着Internet的迅速发展,越来越多的应用程序从传统的C/S(客户端/服务端)架构转向了 B/S(浏览器/服务端)架构。在互联网发展的早期,由于当时计算机性能网页的业务逻辑相对简 单,所以当时的Web开发人员把网页HTML页面内容和业务逻辑混合在一个文件中编写。然而随着 计算机性能的提升,这些Web应用的业务逻辑变得越来越复杂,常见的有HTML5页面、网页游戏、 网页版微软Office,甚至出现了像Chrome OS这样的围绕浏览器开发的操作系统,显然,像以前一样 一个文件、 一个网页、 一个功能的方式已经不再适用于现代的Web开发了。为了让Web开发人员能够开发更复杂的应用逻辑而不是处理简单的HTML,各式各样的Web开发框架应运而生。
Web开发框架能够帮助用户处理许多和HTTP相关的操作,例如URL路由解析、POST和GET参 数获取等等。当然,最重要的是Web框架已经定义了一系列的处理方式和模板,开发人员只需要开 发数据应用的业务逻辑即可。并且大部分Web开发框架还有分层的作用,使业务逻辑可以细化到不同的逻辑层次,从而实现组件化、模块化。
Python语言中已经有很多发展成熟的Web开发框架。这其中有“微框架”设计的Bottle、 Flask、CherryPy,拥有异步非阻塞IO的Tornado、Sanic, 功能大而全的Django、Pyramid、TurboGears 和Web2py,也有基于现有Web开发框架再次开发的Dash、DjangoRESTframework等等。本章将会介 绍一些常见的Web开发框架。
19.1.2 Flask
Flask是一个使用Python、基于Werkzeug WSGI工具箱和Jinja2模板引擎编写的轻量级Web应用框架。Flask使用BSD授权。
Flask被称为“Microframework”,因为它使用简单的核心,用Extension增加其他功能。Flask没 有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入
这些功能:ORM、窗体验证工具、文件上传和各种开放式身份验证技术。
2004年, 一群来自世界各地的Python热衷者组成了Pocoo团队,Flask的作者正是来自Pocoo的阿 明·罗拉撤(Armin Ronacher)。Flask本来只是作者的一个愚人节玩笑,不过后来大受欢迎,进而成为一个正式的项目,它的设计受到了基于Ruby语言的Sinatra项目的影响。Flask的特色有:
◇ 内置开发用服务器和调试器。
◇ 集成单元测试。
◇ RESTful请求分发。
◇ 使用Jinja2模板引擎。
◇ 支持安全Cookies(客户端会话)。
◇ 100% WSGI 1.0兼容。
◇ 基于Unicode。
◇ 详细的文件、教学。
◇ Google App Engine兼容。
◇ 可用Extension增加其他功能。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~