欢迎来到 Flask 的世界¶
欢迎阅读 Flask 文档。Flask 是一个轻量级 WSGI 网络应用框架,旨在让用户
快速、轻松上手,并能扩展到复杂的应用程序。
推荐您先从《 安装 》入手,然后阅读
《 快速上手 》。更详细一些的《 教程 》介绍
了如何创建一个完整(尽管很小)的 Flask 应用。《 Flask 方案 》
中介绍了一些常用的解决方案。其余的文档详细介绍了 Flask 的每一个组件。
《 API 》提供了最详细的参考。
Flask 依赖 Werkzeug WSGI 套件、 Jinja 模板引擎和 Click CLI 套
件。查找信息时请不要忘了查阅它们的文档。
用户指南¶
Flask 提供了配置和约定,以及合理的默认值,以开始使用。文档的这一部分
解释了 Flask 框架的不同部分以及如何使用、定制和扩展。除了 Flask 本身,
社区维护的扩展可以添加更多功能。
安装
Python 版本
依赖
虚拟环境
安装 Flask
快速上手
一个最小的应用
调试模式
HTML 转义
路由
静态文件
渲染模板
操作请求数据
重定向和错误
关于响应
会话
消息闪现
日志
集成 WSGI 中间件
使用 Flask 扩展
部署到网络服务器
教程
项目布局
应用设置
定义和操作数据库
蓝图和视图
模板
静态文件
博客蓝图
项目可安装化
测试覆盖
部署产品
继续开发!
模板
Jinja 设置
标准环境
控制自动转义
注册过滤器
环境处理器
测试 Flask 应用
识别测试
Fixtures
用测试客户端发送请求
追随重定向
访问和修改会话
使用 CLI 运行器运行命令
依赖于活动状态情境的测试
应用错误处理
错误日志工具
错误处理器
自定义错误页面
蓝印错误处理器
将 API 错误作为 JSON 返回
日志
调试
调试应用程序错误
在生产环境中
内置调试器
外部调试器
日志
基本配置
把出错信息通过电子邮件发送给管理者
注入请求信息
其他库
配置管理
配置入门
调试模式
内置配置变量
使用 Python 配置文件
使用数据文件来配置
使用环境变量来配置
配置的最佳实践
开发/生产
实例文件夹
信号
核心信号
订阅信号
创建信号
发送信号
信号与 Flask 的请求环境
信号订阅装饰器
基于类的视图
基本可重用视图
URL变量
视图的生命周期和 self
视图装饰器
方法提示
方法调度和 API
应用程序结构和生命周期
应用程序设置
为应用程序提供服务
如何处理请求
应用情境
情境的目的
情境的生命周期
手动推送情境
存储数据
事件和信号
请求情境
情境的用途
情境的生命周期
手动推送情境
情境如何工作
回调和错误
关于代理的说明
使用蓝图进行应用模块化
为什么使用蓝图?
蓝图的概念
第一个蓝图
注册蓝图
嵌套蓝图
蓝图资源
创建 URL
蓝图出错处理器
扩展
寻找扩展
使用扩展
创建扩展
命令行接口
探索应用
运行开发服务器
打开一个 Shell
通过 dotenv 设置环境变量
通过 virturalenv 设置环境变量
自定义命令
插件
自定义脚本
PyCharm 集成
开发服务器
通过命令行使用开发服务器
通过代码使用开发服务器
在 Shell 中使用 Flask
命令行接口
创建一个请求情境
发送请求前/后动作
在 Shell 中玩得更爽
Flask 方案
大型应用作为一个包
应用工厂
应用调度
URL 处理器
使用 SQLite 3
使用 SQLAlchemy
上传文件
缓存
视图装饰器
使用 WTForms 进行表单验证
模板继承
消息闪现
JavaScript 、 fetch 和 JSON
惰性载入视图
通过 MongoEngine 使用 MongoDB
添加一个页面图标
流内容
延迟的请求回调
添加 HTTP 方法重载
请求内容校验
使用 Celery 的后台任务
继承 Flask
单页应用
安全注意事项
资源使用
跨站脚本攻击( XSS )
跨站请求伪造( CSRF )
JSON 安全
安全头部
复制/粘贴到终端
生产部署
自主部署选项
托管平台
使用 async 和 await
性能
后台任务
何时使用 Quart 代替
扩展
其他事件循环
API 参考¶
这部分文档详细说明某个函数、类或方法。
API
Application Object
Blueprint Objects
Incoming Request Data
Response Objects
Sessions
Session Interface
Test Client
Test CLI Runner
Application Globals
Useful Functions and Classes
Message Flashing
JSON Support
Template Rendering
Configuration
Stream Helpers
Useful Internals
Signals
Class-Based Views
URL Route Registrations
View Function Options
Command Line Interface
其他材料¶
Flask 的设计思路
显式的应用对象
路由系统
唯一模板引擎
“微”的含义
线程本地对象
Async/await 和 ASGI 支持
Flask 是什么,不是什么
Flask 扩展开发
命名
扩展类和初始化
添加行为
配置技术
请求期间的数据
视图和模型
推荐的扩展指南
如何为 Flask 做出贡献
问答支持
报告问题
提交补丁
BSD-3-Clause 许可证
更新日志
Version 3.1.0
Version 3.0.3
Version 3.0.2
Version 3.0.1
Version 3.0.0
Version 2.3.3
Version 2.3.2
Version 2.3.1
Version 2.3.0
Version 2.2.5
Version 2.2.4
Version 2.2.3
Version 2.2.2
Version 2.2.1
Version 2.2.0
Version 2.1.3
Version 2.1.2
Version 2.1.1
Version 2.1.0
Version 2.0.3
Version 2.0.2
Version 2.0.1
Version 2.0.0
Version 1.1.4
Version 1.1.3
Version 1.1.2
Version 1.1.1
Version 1.1.0
Version 1.0.4
Version 1.0.3
Version 1.0.2
Version 1.0.1
Version 1.0
Version 0.12.5
Version 0.12.4
Version 0.12.3
Version 0.12.2
Version 0.12.1
Version 0.12
Version 0.11.1
Version 0.11
Version 0.10.1
Version 0.10
Version 0.9
Version 0.8.1
Version 0.8
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