本文翻译自The Flask Mega-Tutorial Part XIII: I18n and L10n 这是Flask Mega-Tutorial系列的第十三部分,我将告诉你如何扩展Microblog应用以支持多种语言. 作为其中的一部分,你还将学习如何为flask命令创建自己的CLI扩展. 本章的主题是国际化和本地化,通常缩写为I18n和L10n. 为了使我的应用对不会英语的人更加友好,我将在语言翻译机制的帮助下,实施翻译工作流程,来使用多种语言向用户提供服务. 本章的GitHub链接为:…
本文翻译自The Flask Mega-Tutorial Part XXIII: Application Programming Interfaces (APIs) 我为此应用程序构建的所有功能都只适用于特定类型的客户端:Web浏览器. 但其他类型的客户端呢? 例如,如果我想构建Android或iOS APP,有两种主流方法可以解决这个问题. 最简单的解决方案是构建一个简单的APP,仅使用一个Web视图组件并用Microblog网站填充整个屏幕,但相比在设备的Web浏览器中打开网站,这种方案几乎…
第十三章. 特殊的方法 1)    特殊的方法 __init__(self,...) 这个方法在新建对象恰好要被返回使用之前被调用. __del__(self) 恰好在对象要被删除之前调用. __str__(self) 在我们对对象使用print语句或是使用str()的时候调用. __lt__(self,other) 当使用 小于 运算符(<)的时候调用.类似地,对于所有的运算符(+,>等等)都有特殊的方法. __getitem__(self,key) 使用x[key]索引操作符的时候调用.…
本文翻译自The Flask Mega-Tutorial Part XI: Facelift 这是Flask Mega-Tutorial系列的第十一部分,我将告诉你如何用基于Bootstrap用户界面框架的新模板替换基础的HTML模板. 你把玩Microblog应用也有一段时间了,所以我相信你已经注意到,我没有花太多时间来美化它,说得更具体点,我根本没有花时间. 所有的模板只使用了基础样式,没有任何自定义的展现. 这对于我来说却非常有用,因为我可以专注于应用的实际逻辑,不用分心于编写好看的HTM…
本文翻译自 The Flask Mega-Tutorial Part IV: Database 在Flask Mega-Tutorial系列的第四部分,我将告诉你如何使用数据库. 本章的主题是重中之重!大多数应用都需要持久化存储数据,并高效地执行的增删查改的操作,数据库为此而生. 本章的GitHub链接为: Browse, Zip, Diff. Flask中的数据库 Flask本身不支持数据库,相信你已经听说过了. 正如表单那样,这也是Flask有意为之.对使用的数据库插件自由选择,岂不是比被迫…
本文翻译自The Flask Mega-Tutorial Part XVII: Deployment on Linux 这是Flask Mega-Tutorial系列的第十七部分,我将把Microblog部署到Linux服务器. 在本章中,我将谈到Microblog应用生命周期中的一个里程碑,因为我将讨论如何将应用部署到生产服务器上,以便真实用户可以访问它. 部署的主题非常广泛,因此不可能在这里涵盖所有范畴. 本章致力于探讨传统托管方式,包括Ubuntu发行版的Linux服务器和流行的树莓派微机…
本文翻译自The Flask Mega-Tutorial Part VII: Error Handling 这是Flask Mega-Tutorial系列的第七部分,我将告诉你如何在Flask应用中进行错误处理. 本章将暂停为microblog应用开发新功能,转而讨论处理BUG的策略,因为它们总是无处不在.为了帮助本章的演示,我故意在第六章新增的代码中遗留了一处BUG. 在继续阅读之前,看看你能不能找到它! 本章的GitHub链接为:Browse, Zip, Diff. Flask中的错误处理机…
本文翻译自 The Flask Mega-Tutorial Part VI: Profile Page and Avatars 这是Flask Mega-Tutorial系列的第六部分,我将告诉你如何创建个人主页. 本章将致力于为应用添加个人主页.个人主页用来展示用户的相关信息,其个人信息由本人录入. 我将为你展示如何动态地生成每个用户的主页,并提供一个编辑页面给他们来更新个人信息. 本章的GitHub链接为:Browse, Zip, Diff. 个人主页 作为创建个人主页的第一步,让我们为其U…
本文翻译自The Flask Mega-Tutorial Part V: User Logins 这是Flask Mega-Tutorial系列的第五部分,我将告诉你如何创建一个用户登录子系统. 你在第三章中学会了如何创建用户登录表单,在第四章中学会了运用数据库.本章将教你如何结合这两章的主题来创建一个简单的用户登录系统. 本章的GitHub链接为:Browse, Zip, Diff. 密码哈希 在第四章中,用户模型设置了一个password_hash字段,到目前为止还没有被使用到. 这个字段的…
本文翻译自 The Flask Mega-Tutorial Part III: Web Forms 这是Flask Mega-Tutorial系列的第三部分,我将告诉你如何使用Web表单. 在第二章中我为应用主页创建了一个简单的模板,并使用诸如用户和用户动态的模拟对象.在本章中,我将解决这个应用程序中仍然存在的众多遗漏之一,那就是如何通过Web表单接受用户的输入. Web表单是所有Web应用程序中最基本的组成部分之一. 我将使用表单来为用户发表动态和登录认证提供途径. 在继续阅读本章之前,确保你…