
上QQ阅读APP看书,第一时间看更新
前言
与其他框架相比,Flask之所以能脱颖而出,原因在于它让开发者做主,使其对应用拥有全面的创意控制。或许你听过“和框架斗争”这一说法。在大多数框架中,当你决定使用的解决方案不受框架官方支持时就会发生这种情况。你可能想使用不同的数据库引擎或者不同的用户身份验证方法。但是,这种偏离框架开发者设定路线的做法往往会给你带来很多麻烦。
Flask就不一样了。你喜欢关系型数据库?很好。Flask支持所有的关系型数据库。或许你更喜欢使用NoSQL数据库?没问题,Flask也支持。想使用自己开发的数据库引擎?根本用不到数据库?依然没问题。在Flask中,你可以自主选择应用的组件,如果找不到合适的,还可以自己开发。就这么简单。
Flask之所以能给用户提供这么大的自由度,关键在于其开发伊始就考虑到了扩展性。Flask提供了一个强健的核心,其中包含每个Web应用都需要的基本功能,而其他功能则交给生态系统中众多的第三方扩展——当然,你也可以自行开发。
本书将展示我自己使用Flask开发Web应用的工作流程。我不觉得这是使用Flask开发应用的唯一正确方式。你应该把我的选择作为一种推荐方式,而不是真理。
大部分软件开发类图书都使用短而精的示例代码,孤立地演示所介绍技术的功能,让读者自己去思考如何使用“胶水”代码把这些不同的功能组合起来,开发出完整可用的应用。本书采用了完全不同的方式。本书中的示例代码都摘自同一个应用,开始时很简单,后续逐章进行扩展。最初这个应用只有几行代码,最后将变成功能完善的博客和社交网络应用。