Flask 创建一个请求上下文
从 Shell 创建一个合适的上下文,最简单的方法是使用test_request_context 方法,此方法会创建一个 RequestContext 对象: >>&g…
Flask 激发请求发送前后的调用
仅仅创建一个请求上下文,您仍然不能运行请求发送前通常会运行的代码。如果您在将连接数据库的任务分配给发送请求前的函数调用,或者在当前用户并没有被储存在 g 对象里等等情况下,您可能无…
Flask 进一步提升 Shell 使用体验
如果您喜欢在 Shell 里实验您的新点子,您可以创建一个包含你想要导入交互式回话中的东西的的模块。在这里,您也可以定义更多的辅助方法用来完成一些常用的操作,例如初始化数据库、删除…
Flask 大型应用
对于比较大型的应用,更好的做法是使用包管理代码,而不是模块来管理代码。这非常简单,设想一个如下结构的应用: /yourapplication /yourapplication.py…
Flask 应用程序的工厂函数
如果您已经开始使用包和蓝图(用蓝图实现模块化的应用)辅助您的应用开发了,那么 这里还有一些非常好的办法可以进一步的提升开发体验。当蓝图被导入的时候, 一个通用的模板将会负责创建应用…
Flask 应用调度
应用调度指的是在 WSGI 层次合并运行多个 Flask 的应用的进程。您不能将Flask 与更大的东西合并,但是可以和 WSGI 应用交叉。这甚至允许您将Django 和 Fla…
Flask 使用URL 处理器
0.7 新版功能. Flask 0.7 版引入了 URL 处理器的概念。此概念的意义在于,对于一部分资源, 您并不是很清楚该如何设定其 URL 相同的部分。例如可能有一些 URL …
Flask 使用 Fabric 部署
Fabric 是一个 Python 下类似于 Makefiles 的工具,但是能够在远程服务器上执行命令。如果您有一个良好配置过的 Python 软件包 (大型应用) 且对“配置”…
Flask 在 Flask 中使用 SQLite 3
在 Flask 中,在请求开始的时候用 before_request() 装饰器实现 打开数据库连接的代码,然后在请求结束的时候用 before_request()装饰器关闭数据库…
Flask 在 Flask 中使用 SQLAIchemy
很多人更倾向于使用 SQLAlchemy 进行数据库操作。在这种情况下,建议您使用包的而不是模块的方式组织您的应用代码,并将所有的模型放置到一个单独的模块中(大型应用)。尽管这并非…
Flask 上传文件
哦,上传文件可是个经典的好问题了。文件上传的基本概念实际上非常简单,他基本是这样工作的: 一个 <form> 标签被标记有 enctype=multipart/form…
Flask 视图装饰器
Python 拥有一件非常有趣的特性,那就是函数装饰器。这个特性允许您使用一些非常简介的语法编辑 Web 应用。因为 Flask 中的每个视图都是一个函数装饰器,这些装饰器被用来将…
Flask 使用 WTForms 进行表单验证
如果您不得不跟浏览器提交的表单数据打交道,视图函数里的代码将会很快变得难以阅读。有不少的代码库被开发用来简化这个过程的操作。其中一个就是 WTForms ,这也是我们今天主要讨论的…
Flask 模板继承
Jinja 最为强大的地方在于他的模板继承功能,模板继承允许你创建一个基础的骨架模板,这个模板包含您网站的通用元素,并且定义子模板可以重载的 blocks 。 听起来虽然复杂,但是…
Flask 消息闪现
好的应用和用户界面的重点是回馈。如果用户没有得到足够的反馈,他们可能最终会对您的应用产生不好的评价。Flask 提供了一个非常简单的方法来使用闪现系统向用户反馈信息。闪现系统使得在…
Flask 自定义错误页面
Flask 自带了很顺手的 abort() 函数用于以一个 HTTP 失败代码中断一个请求,他也会提供一个非常简单的错误页面,用于提供一些基础的描述。这个页面太朴素了以至于缺乏一点…
Flask 延迟加载视图
Flask 通常配合装饰器使用,装饰器使用非常简单,而且使您可以将 URL 和处理它的函数放在一起。然而这种方法也有一种不足: 这就意味着您使用装饰器的代码必须在前面导入,否则 F…
Flask 在 Flask 中使用 MongoKit
近些日子,使用基于文档的数据库而不是基于表的关系数据库变得越来越流行。 这一方案展示了如何使用文档映射库 MongoKit ,来与 MongoDB 交互。 这一方案的使用需要一个可…
Flask 添加 Favicon
“Favicon” 是指您的网页浏览器显示在标签页或者历史记录里的图标。这个图标能帮助用户将您的网站与其他网站区分开,因此请使用一个独特的标志 一个普遍的问题是如何将一个 Favi…
Flask 延迟请求回调
Flask 的设计原则中有一条是响应对象被创建并在一条可能的回调链中传递,而在这条回调链但中的任意一个回调,您都可以修改或者替换掉他们。当请求开始被处理时,还没有响应对象,响应对象…