### 导航
- [索引](# "总目录")
- [下一页](# "前言") |
- [Flask 0.10.1 文档](#) »
# 欢迎使用 Flask
![Flask: web development, one drop at a time](https://box.kancloud.cn/2016-03-26_56f6a4a7ad1be.png)
欢迎阅读 Flask 文档。 本文档分为几个部分。我推荐您先从[*安装*](#) 开始,之后再浏览 [*快速入门*](#) 章节。[*教程*](#) 比快速入门更详细地介绍了如何用 Flask 创建一个完整的应用(虽然很小)。想要深入了解 Flask 内部细节,请查阅 [*API*](#) 文档。[*Flask 代码模式*](#) 章节介绍了一些常见模式。
Flask 依赖两个外部库: [Jinja2](http://jinja.pocoo.org/2/) [http://jinja.pocoo.org/2/] 模板引擎和 [Werkzeug](http://werkzeug.pocoo.org/) [http://werkzeug.pocoo.org/] WSGI 工具集。此文档不包含这两个库的文档。要细读它们的文档,请点击下面的链接:
- [Jinja2 文档](http://jinja.pocoo.org/2/documentation/) [http://jinja.pocoo.org/2/documentation/]
- [Werkzeug 文档](http://werkzeug.pocoo.org/documentation/) [http://werkzeug.pocoo.org/documentation/]
### 用户指南
这部分文档很枯燥,以介绍 Flask 的背景开始,然后注重说明 Flask 的 Web 开发的各个步骤。
- [前言](#)
- [“微” 是什么意思?](#)
- [配置与惯例](#)
- [与 Flask 共成长](#)
- [给有经验程序员的前言](#)
- [Flask 中的线程局部变量](#)
- [Web 开发是危险的](#)
- [Python 3 的状态](#)
- [安装](#)
- [virtualenv](#)
- [全局安装](#)
- [活在边缘](#)
- [Windows 下的 pip 和 distribute](#)
- [快速入门](#)
- [一个最小的应用](#)
- [调试模式](#)
- [路由](#)
- [静态文件](#)
- [模板渲染](#)
- [访问请求数据](#)
- [重定向和错误](#)
- [关于响应](#)
- [会话](#)
- [消息闪现](#)
- [日志记录](#)
- [整合 WSGI 中间件](#)
- [部署到 Web 服务器](#)
- [教程](#)
- [介绍 Flaskr](#)
- [步骤 0: 创建文件夹](#)
- [步骤 1: 数据库模式](#)
- [步骤 2: 应用设置代码](#)
- [步骤 3: 创建数据库](#)
- [步骤 4: 请求数据库连接](#)
- [步骤 5: 视图函数](#)
- [步骤 6: 模板](#)
- [步骤 7: 添加样式](#)
- [福利: 应用测试](#)
- [模板](#)
- [Jinja 配置](#)
- [标准上下文](#)
- [标准过滤器](#)
- [控制自动转义](#)
- [注册过滤器](#)
- [上下文处理器](#)
- [测试 Flask 应用](#)
- [应用程序](#)
- [测试的大框架](#)
- [第一个测试](#)
- [登陆和登出](#)
- [测试消息的添加](#)
- [其他测试技巧](#)
- [伪造资源和上下文](#)
- [保存上下文](#)
- [访问和修改 Sessions](#)
- [记录应用错误](#)
- [错误邮件](#)
- [记录到文件](#)
- [控制日志格式](#)
- [其它的库](#)
- [调试应用错误](#)
- [有疑问时,手动运行](#)
- [调试器操作](#)
- [配置处理](#)
- [配置基础](#)
- [内置的配置值](#)
- [从文件配置](#)
- [配置的最佳实践](#)
- [开发 / 生产](#)
- [实例文件夹](#)
- [信号](#)
- [订阅信号](#)
- [创建信号](#)
- [发送信号](#)
- [信号与 Flask 的请求上下文](#)
- [基于装饰器的信号订阅](#)
- [核心信号](#)
- [即插视图](#)
- [基本原则](#)
- [方法提示](#)
- [基于调度的方法](#)
- [装饰视图](#)
- [用于 API 的方法视图](#)
- [应用上下文](#)
- [应用上下文的作用](#)
- [创建应用上下文](#)
- [应用上下文局部变量](#)
- [上下文用法](#)
- [请求上下文](#)
- [深入上下文作用域](#)
- [上下文如何工作](#)
- [回调和错误](#)
- [销毁回调](#)
- [留意代理](#)
- [错误时的上下文保护](#)
- [用蓝图实现模块化的应用](#)
- [为什么使用蓝图?](#)
- [蓝图的设想](#)
- [我的第一个蓝图](#)
- [注册蓝图](#)
- [蓝图资源](#)
- [构造 URL](#)
- [Flask 扩展](#)
- [寻找扩展](#)
- [使用扩展](#)
- [Flask 0.8 以前](#)
- [与 Shell 共舞](#)
- [创建一个请求上下文](#)
- [激发请求发送前后的调用](#)
- [进一步提升 Shell 使用体验](#)
- [Flask 代码模式](#)
- [大型应用](#)
- [应用程序的工厂函数](#)
- [应用调度](#)
- [使用 URL 处理器](#)
- [部署和分发](#)
- [使用 Fabric 部署](#)
- [在 Flask 中使用 SQLite 3](#)
- [在 Flask 中使用 SQLAlchemy](#)
- [上传文件](#)
- [缓存](#)
- [视图装饰器](#)
- [使用 WTForms 进行表单验证](#)
- [模板继承](#)
- [消息闪现](#)
- [用 jQuery 实现 Ajax](#)
- [自定义错误页面](#)
- [延迟加载视图](#)
- [在 Flask 中使用 MongoKit](#)
- [添加 Favicon](#)
- [数据流](#)
- [延迟请求回调](#)
- [添加 HTTP Method Overrides](#)
- [请求内容校验码](#)
- [基于 Celery 的后台任务](#)
- [部署选择](#)
- [mod_wsgi (Apache)](#)
- [独立 WSGI 容器](#)
- [uWSGI](#)
- [FastCGI](#)
- [CGI](#)
- [聚沙成塔](#)
- [阅读源码](#)
- [钩子,继承](#)
- [继承](#)
- [用中间件包装](#)
- [分支](#)
- [像专家一样扩大规模](#)
- [与社区对话](#)
### API 参考
如果你在寻找一个特定函数、类或方法的信息,那么这部分文档就是给你准备的。
- [API](#)
- [应用对象](#)
- [蓝图对象](#)
- [进入的请求对象](#)
- [响应对象](#)
- [会话](#)
- [会话接口](#)
- [测试客户端](#)
- [应用全局变量](#)
- [有用的函数和类](#)
- [消息闪现](#)
- [JSON 支持](#)
- [模板渲染](#)
- [配置](#)
- [扩展](#)
- [流的辅助函数](#)
- [有用的内构件](#)
- [信号](#)
- [基于类的视图](#)
- [URL 路由注册](#)
- [视图函数选项](#)
### 额外说明
这部分的设计说明,法律信息和变更记录为有兴趣的人准备。
- [Flask 中的设计决策](#)
- [显式的应用对象](#)
- [路由系统](#)
- [某个模板引擎](#)
- [微与依赖](#)
- [线程局域变量](#)
- [Flask 是什么,不是什么?](#)
- [HTML/XHTML 常见问题](#)
- [XHTML 的历史](#)
- [HTML5 的历史](#)
- [HTML vs. XHTML](#)
- [“严格”意味着什么?](#)
- [HTML5 中的新技术](#)
- [应该使用什么?](#)
- [安全注意事项](#)
- [跨站脚本攻击(XSS)](#)
- [跨站请求伪造(CSRF)](#)
- [JSON 安全](#)
- [Flask 中的 Unicode](#)
- [自动转换](#)
- [金科玉律](#)
- [自行编解码](#)
- [配置编辑器](#)
- [Flask 扩展开发](#)
- [剖析扩展](#)
- [“Hello Flaskext!”](#)
- [初始化扩展](#)
- [扩展的代码](#)
- [使用 _app_ctx_stack](#)
- [销毁行为](#)
- [他山之石,可以攻玉](#)
- [已审核的扩展](#)
- [扩展导入的过渡](#)
- [Pocoo 风格指引](#)
- [总体布局](#)
- [表达式和语句](#)
- [命名约定](#)
- [文档注释](#)
- [注释](#)
- [Python 3 支持](#)
- [需求](#)
- [API 稳定性](#)
- [少数派](#)
- [小生态系统](#)
- [建议](#)
- [升级到最新版本](#)
- [Version 0.10](#)
- [Version 0.9](#)
- [Version 0.8](#)
- [Version 0.7](#)
- [Version 0.6](#)
- [Version 0.5](#)
- [Version 0.4](#)
- [Version 0.3](#)
- [Flask Changelog](#)
- [Version 1.0](#)
- [Version 0.10.2](#)
- [Version 0.10.1](#)
- [Version 0.10](#)
- [Version 0.9](#)
- [Version 0.8.1](#)
- [Version 0.8](#)
- [Version 0.7.3](#)
- [Version 0.7.2](#)
- [Version 0.7.1](#)
- [Version 0.7](#)
- [Version 0.6.1](#)
- [Version 0.6](#)
- [Version 0.5.2](#)
- [Version 0.5.1](#)
- [Version 0.5](#)
- [Version 0.4](#)
- [Version 0.3.1](#)
- [Version 0.3](#)
- [Version 0.2](#)
- [Version 0.1](#)
- [许可证](#)
- [作者](#)
- [通用许可证定义](#)
- [Flask License](#)
- [Flask Artwork License](#)
- [术语表](#)
© 版权所有 2013, Armin Ronacher.
- 欢迎使用 Flask
- 前言
- 给有经验程序员的前言
- 安装
- 快速入门
- 教程
- 介绍 Flaskr
- 步骤 0: 创建文件夹
- 步骤 1: 数据库模式
- 步骤 2: 应用设置代码
- 步骤 3: 创建数据库
- 步骤 4: 请求数据库连接
- 步骤 5: 视图函数
- 步骤 6: 模板
- 步骤 7: 添加样式
- 福利: 应用测试
- 模板
- 测试 Flask 应用
- 记录应用错误
- 配置处理
- 信号
- 即插视图
- 应用上下文
- 请求上下文
- 用蓝图实现模块化的应用
- Flask 扩展
- 与 Shell 共舞
- Flask 代码模式
- 大型应用
- 应用程序的工厂函数
- 应用调度
- 使用 URL 处理器
- 部署和分发
- 使用 Fabric 部署
- 在 Flask 中使用 SQLite 3
- 在 Flask 中使用 SQLAlchemy
- 上传文件
- 缓存
- 视图装饰器
- 使用 WTForms 进行表单验证
- 模板继承
- 消息闪现
- 用 jQuery 实现 Ajax
- 自定义错误页面
- 延迟加载视图
- 在 Flask 中使用 MongoKit
- 添加 Favicon
- 数据流
- 延迟请求回调
- 添加 HTTP Method Overrides
- 请求内容校验码
- 基于 Celery 的后台任务
- 部署选择
- mod_wsgi (Apache)
- 独立 WSGI 容器
- uWSGI
- FastCGI
- CGI
- 聚沙成塔
- API
- JSON 支持
- Flask 中的设计决策
- HTML/XHTML 常见问题
- 安全注意事项
- Flask 中的 Unicode
- Flask 扩展开发
- Pocoo 风格指引
- Python 3 支持
- 升级到最新版本
- Flask Changelog
- 许可证
- 术语表