Python Flask MongoDB Web开发:前 言
时间:2023-10-04 10:24:02 | 来源:网站运营
时间:2023-10-04 10:24:02 来源:网站运营
Python Flask MongoDB Web开发:前 言:
Talk is cheap , show me your code!
内 容 提 要
本书共分三部分,全面介绍如何基于Python微框架Flask进行Web开发。第一部分是Flask简介,介绍使用Flask框架及扩展开发Web程序的必备基础知识。第二部分则给出一个实例,真正带领大家一步步开发完整的博客和社交应用Flasky,从而将前述知识融会贯通,付诸实践。第三部分介绍了发布应用之前必须考虑的事项,如单元测试策略、性能分析技术、Flask程序的部署方式等。本书采用Python 3.6、MongoDB,按最小可行性的基本原则,对《Flask Web开发:基于Python的Web应用开发实战》(第2版)进行重构。
本书适合熟悉Python编程,有意通过Flask全面掌握Web开发的程序员学习参考。
前 言
与其他框架相比,Flask之所以能脱颖而出,原因在于它让开发者做主,使其对应用拥有全面的创意控制。或许你听过“和框架斗争”这一说法。在大多数框架中,当你决定使用的解决方案不受框架官方支持时就会发生这种情况。你可能想使用不同的数据库引擎或者不同的用户身份验证方法。但是,这种偏离框架开发者设定路线的做法往往会给你带来很多麻烦。
Flask就不一样了。你喜欢关系型数据库?很好。Flask支持所有的关系型数据库。或许你更喜欢使用NoSQL数据库?没问题,Flask也支持。想使用自己开发的数据库引擎?根本用不到数据库?依然没问题。在Flask中,你可以自主选择应用的组件,如果找不到合适的,还可以自己开发。就这么简单。
Flask之所以能给用户提供这么大的自由度,关键在于其开发伊始就考虑到了扩展性。
Flask提供了一个强健的核心,其中包含每个Web应用都需要的基本功能,而其他功能则交给生态系统中众多的第三方扩展——当然,你也可以自行开发。
本书将展示我自己使用Flask开发Web应用的工作流程。我不觉得这是使用Flask开发应用的唯一正确方式。你应该把我的选择作为一种推荐方式,而不是真理。
大部分软件开发类图书都使用短而精的示例代码,孤立地演示所介绍技术的功能,让读者自己去思考如何使用“
胶水”代码把这些不同的功能组合起来,开发出完整可用的应用。
本书采用了完全不同的方式。本书中的示例代码都摘自同一个应用,开始时很简单,后续逐章进行扩展。最初这个应用只有几行代码,最后将变成功能完善的博客和社交网络应用。
面向的读者群
要想更好地理解本书内容,你需要具备一定的Python编程经验。阅读本书并不要求你了解Flask的相关知识,但你最好理解Python的一些概念,比如包、模块、函数、装饰器和面向对象编程。熟悉异常处理,知道如何从栈跟踪中分析问题也有助于理解本书。
学习本书示例代码时,你大部分时间都将在命令行中操作。因此,你应该能够熟练使用自己操作系统中的命令行。
现代Web应用都不可避免地需要使用HTML、CSS和JavaScript。本书开发的示例应用当然也用到了这些技术,但本书没有对其进行详细介绍,也没有说明应该如何使用。因此,如果你想开发完整的应用,且无法向精通客户端技术的开发者寻求帮助,那就需要对这些语言有一定程度的了解。
本书配套的应用是开源的,我把它同时上传到GitHub和百度云盘。由于国内部分区域或网络服务商的原因,访问GitHub有时并不是很理想(打不开或下载很慢)。如果你可以通过修改本地Hosts文件顺利访问GitHub,则你可以从GitHub上下载ZIP或TAR格式的源码;当然,你也可以从百度云盘直接下载源代码。本书并不强调Git的使用,即便你不会配置网络也不影响代码运行。
最后要说明的是,本书并不是完整且详尽的Flask框架手册。虽然本书介绍了Flask的大部分功能,但你还需要配合使用Flask官方文档(
http://flask.pocoo.org/)。
原计划于2022-5-1完成初稿,寻找出版途径,但临时决定,还是先发公众号
【调包】,看看读者反馈。毕竟在国内做Web开发,Flask还是小众,又使用MongoDB,就更少了。真心说,数据分析的Web可视化还是推荐这个套装,会为后续迭代开发节省不少精力。
笔者会视情况在此基础上增加Pandas、Sklearn、Bokeh等综合实例,读者会发现这个套装是多么强大的存在,嘿嘿~