发布于 2015-08-31 14:52:26 | 479 次阅读 | 评论: 0 | 来源: 网络整理
这本书是使用 Flask 的最佳实践的合集。有许多 Flask 应用程序常见的代码片段。例如,你会经常需要与数据库交互和用户身份验证。在接下来的章节里我将尽我所能来解释做这样的事情的“正确的方式”。我的建议并 不总是适用的,但是我希望大部分时候它们是一个很好的选择。
为了给你们呈现更加具体的建议,我写这本书有几个基本的假设。当你阅读和运用这些建议到你自己的项目中的时候要牢记这一点。
这本书的内容是基于官方文档中的信息。我强烈地建议你们浏览 用户指南 并且依照 官方教程 (官方教程中文翻译 )。这会给你一个机会去熟悉 Flask 的术语。你应该会明白什么是视图,Jinja 模板基础知识以及其它一些为初学者定义的基本概念。我试图避免与用户指南已有的信息重叠,因此如果你第一次阅读本书的话,你可能会有些迷失。
除了上面所说,在这本书中的其它主题并不是非常高级的。我们的目标就是要强调使得开发变得更加容易地最佳实践和模式。尽管我试图避免与官方文档有太多重叠,你可能会发现我会重申某些概念以确保你们对它熟悉。当你们阅读这些的时候不必打开初学者教程。
我写这本书的时候,Python 社区正处于 Python 2 到 Python 3 的过渡之中。Python 软件基金会的官方立场如下:
Python 2.x 维持现状,Python 3.x 是语言的现在和未来。[1]
随着版本 0.10 发布,Flask 可以运行在 Python 3.3 上。当我询问 Armin Ronacher 有关新的 Flask 应用程序能否开始使用 Python 3,他说他还没有推荐人去使用。
目前我自己没有使用 Python 3,我永远不要向人们推荐我自己都不相信的东西,因此我很谨慎地推荐使用 Python 3。
—Armin Ronacher,Flask 创始人 [2]
就 Python 3 持观望态度的原因之一是许多常见的依赖库还没有被移植到 Python 3 上。你不想要在使用 Python 3 构建一个项目几个月后才意识到你不能使用包 X,Y 以及 Z。可能最终 Flask 将正式推荐用 Python 3 开发新项目,但是现在所有一切都是关于 Python 2。
Note
Python 3 Wall of Superpowers 记录着那些已经迁移到 Python 3 的主要 Python 库。
因为本书目的是提供实用的建议,我认为很有意义基于 Python 2 来编写应用。特别地,我将会使用 Python 2.7 来完成本书的代码。未来可能会随着 Flask 社区的演变进行更新,但是目前我们坚持使用 Python 2.7。
在编写这本书的时候,0.10 是 Flask 的最新版本(准确的是 0.10.1)。本书大部分的内容是不会随着 Flask 较小的更新发生变化,但这是要记住的东西。
本书的内容会动态地更新,而不是定期发布更新。这也是把书籍免费公开的好处之一。网站是比印刷或者甚至 PDFs 更加流畅的发布途径。
这本书的源文件托管在 on GitHub,贡献和主意随时欢迎!
本 书的每一章都是独立的课程。许多的书籍以及教程都是写成一个很长的课程。通常这就意味着一个示例程序或者应用被创建以及更新,这些示例或者应用贯穿全书为 了解释概念和课程。相反,本书每个章节都有不同的示例来解释概念,但是来自不同章节的示例并没有打算组合成一个大的项目。
来自 Kickstarter 活动中 6 位支持者的姓名被编码并且分散在书中。如果你发现所有 6 个姓名的话,邮件发送它们所在的位置给我,我会给你一个小小的奖励。没有提示。
[1] | 来源:The Python wiki |
[2] | 来源:My conversation with Armin Ronacher |
[3] | 看,它们 一定 是真的! |