Flask 学习资源和扩展列表
-
Flask 核心文档
- Python 中文文档君 - pythondocument
- Flask - English, 中文
- Jinja2 模板 - English, 中文, 简明手册
- Mako 模板 - English, 中文
- Werkzeug - English
- Flask 扩展文档 - Flask-extensions-docs, 扩展文档集
- Pillow 文档 - phyng2.x翻译, 中文, phperz教程集合
-
教程/文章
- Python 魔术方法指南
- 以正确的方式开源 Python 项目
- 怎样才能彻底掌握 Flask?
- Jinja2 模板引擎详解
- Flask 入门系列, Flask 进阶系列, Flask 扩展系列
- 30 天学习 30 种技术
- Flask 使用小结, Flask 学习摘要
- Flaskr - Intro to Flask, Test Driven Development, and jQuery 以TDD的方式开发应用
- Full stack python
- Building websites in Python with Flask, Getting bigger with Flask
- Real Python: Flask Category 有许多很棒的文章
- Implementing a RESTful Web API with Python & Flask
- Write a tumblelog app with Flask-MongoEngine, 中文
- How to build a news app that never goes down and costs you practically nothing (by NPR)
- Flask-SQLAlchemy Tutorials and Examples
- The Twelve-Factor App - Heroku 创始人 Adam Wiggins 根据该平台上百万应用的托管和运营经验总结的 “SaaS 应用程序十二要素宣言”,为构建 SaaS 应用提供方法论
-
在线课程
-
书籍
- Flask Web Development, Github
- Instant Flask Web Development
- Explore Flask, 探索 Flask, Github
- The Flask Mega-Tutorial, Flask 大型应用教程
- Flask Tutorial
- Developing Web Applications with Flask
- Python Web Applications With Flask
- Flask by Example
- Discover Flask - Full Stack Web Development with Flask
- The Ultimate Flask Front-End
- Flask Biography Tutorial
- Learning Flask Framework
- Flask Blueprints
- Flask Framework Cookbook
- Mastering Flask
- Building Web Applications with Flask
-
幻灯片
- Creating beautiful REST APIs with Flask
- All about Flask Extensions
- Developing RESTful web APIs with Flask and MongoDB
- Advanced Flask Patterns
- Flasky Goodness
- Domain Driven Design with Flask
- In Flask we Trust
- Millions of Apps Deployed: What We've Learned Heroku 工程师 Richard Schneeman 介绍从数百万应用的部署中学到的经验。内容从 12factor.net 宣言出发,列出构建 SaaS 应用所需的方法;之后使用 Rails 及其 Ecosystem 举例说明构建符合 Twelve-Factor App 宣言应用的技巧
-
视频
-
基于 Flask 的项目
- zmusic-ng - ZX2C4 Music 提供 Web 界面来播放/下载音乐
- GuitarFan - 吉他曲谱
- June -
python-china.org旧站源码 - Zerqu - 用于创建话题,评论的后端 API。用于 Python-China
- motiky - motiky 的后端 API
- missing - 名为 missing 的列表服务
- thenewsmeme.com - 社会化新闻系统
- overholt - Flask 示例项目, 展示了应用的常见写法
- pypress - Flask 团队博客
- thepast.me - 个人杂志
- redispapa - Redis 监控工具, 基于 flask, angular, socket.io
- flaskblog - 简单的博客系统, 基于 flask, mysql
- cleanblog - 示例博客系统, 基于 flask, mongoengine
- Quokka CMS - 基于 Flask, MongoDB 的 CMS
- chat - 聊天室, 基于 python (flask + gevent + apscheduler) + redis
- chatapp - 聊天室, 基于 Flask, Angular.js, Socket.io
- mcflyin - 微型时间序列转换 API, 基于 Flask, Pandas
- Skylines - 针对飞行员的实时跟踪, 飞行数据, 航线,排名框架
- airflow - 以编程方式的方式编写,调度和监视工作流的平台
- timesketch - 用于以协作的方式组织/分析时间线
- changes - 代码持续集成系统 (CI)
- security_monkey - 监控 AWS 账户的不安全配置修改并发出警报
- securedrop - 开源提交系统,媒体/组织可以用它来安全地接受匿名文档并与匿名源进行通信
- sync_engine - IMAP/SMTP 邮件同步 RESTful API 服务
- cleansweep - 志愿者和活动管理系统
- indico - 基于 Web 的通用事件管理解决方案。包括会议组织工作流程以及会议管理和房间预订工具,还提供视频会议功能
- Pocoo 社区项目, Github - 官方收集的开源项目
- “优容网”技术架构分析
- Flask_pure, 介绍 - Flask 博客,基于 Flask+Mongo
- Blog_mini, 介绍 - 有完善管理后台的博客
- flaskbbs - Flask BBS 论坛
- MiniTwit, 介绍 - Twitter 克隆项目
- Flaskr, Flaskr-tdd, 介绍 - 微型博客示例
- me, 介绍 - 开源博客
- Flasky - Flask Web 开发示例博客项目;基于该项目二次开发的 Blog,使用了更多插件
- MicroBlog - Flask Mega 教程示例博客
- Fedora-Copr - Fedora Copr 前端基于 Flask
- Pagure - 基于 Flask+pygit2 的代码托管平台
- Fedora-Hub - 基于 Flask 的 Fedora 贡献者协作平台
- LinuxBar - Linux 贴吧开源实现
- pyblog - Flask 博客
- zwiki - 极简 Blog 系统
- Team - 团队 Blog 系统
- wechat_hack - 微信攻击平台
- Redis-monitor - 可视化 Redis 监控程序
- openfec-web-app - 查看竞选资金数据
- KoalaAPI - 后台 API 服务
- Weibo - 微博示例
- tushe - Flask 图床
- peewee-blog - peewee 示例博客
- playlist-service - REST API 示例
- Tumbelog - 基于 Flask+Mongo 的博客
- message-board, 介绍 - React 留言板
- OctBlog - 基于 Flask+Mongo 的博客
- MuxiBookManagement - 图书借阅
- wkcycle - 简单的网站
- build-a-saas-app-with-flask - 学习如何构建 SaaS 应用
- commentbox - 获取网易云音乐精彩评论
-
App template/bootstrap/boilerplate
- fbone
- flask-base
- cookiecutter-flask
- cookiecutter-flask-pythonic
- Flask-Foundation
- Flask-Empty
- flask-rest-template
- gae-init - Flask boilerplate running on Google App Engine
- GAE Starter Kit - Flask, Flask-Login, WTForms, UIKit, and more, running on Google App Engine
-
框架
- Connexion - Flask 上的 Swagger/OpenAPI 框架,提供自动端点验证和 OAuth2 支持
- Flask Kit - Flask 应用模板
- Flask-MongoRest - 基于 MongoEngine 的 Restful API 框架
- Eve - REST API 框架,基于 Flask, MongoDB 并有良好接口
- Flask-Restless - 为 SQLAlchemy 模型构建简单 ReSTful API 的扩展
- Flask-RESTful - REST API 框架
- Flask-RestPlus - 快速构建 REST API 扩展
- Flask-Restaction - 构建 RESTful API 扩展
- Flask-Potion - 为 Flask 和 SQMLAlchemy 提供 RESTful API 的框架
- Enferno - 基于 Flask 的工具集
- Flasgger - 使用 Swagger 为 Flask endpoint 创建 API 文档
- Flask-Restful-Swagger - 封装 flask-restful 并提供 swagger 支持
- Flask-Apispec - 构建 REST API 的轻量级工具, 可自动生成 API 文档
-
管理
- Flask-Admin - Flask 管理接口框架
- Flask-SuperAdmin - 最好的 Flask 管理接口框架
- Flask-Dashed - 构建管理界面
-
认证
- Flask-Login - Flask 用户会话管理
- Flask-User - 用户账户管理
- Flask-Principal - 提供权限认证和用户信息管理
- Flask-Security - 提供 Role 管理, 加密, Token认证, 重置密码等功能的插件
- Flask-Social - 为 Flask-Security 提供 OAuth Provider 整合
- Authomatic - 为应用提供许多著名网站的 OAuth 1.0a/OAuth 2.0 开箱支持
- Flask-Googlefed - 使用 Google Openid 认证用户
- Flask-OpenID - 提供 OpenID 支持
- Flask-OAuth - 提供 OAuth 支持
- Flask-OAuthlib - 提供 OAuthlib 支持,用于代替 Flask-OAuth 扩展
- GitHub-Flask - 使用 GitHub 认证用户
- Python-Social-Auth - 易于设置的身份验证/注册机制,支持多个框架
- Flask-social-blueprint - 基于 OAuth 的认证蓝图
- Flask-HTTPAuth - 为 Flask 路由提供 HTTP Basic 认证
- Flask-JWT - JSON Web Tokens
- itsdangerous - 密码加密/验证库
-
授权Authorization
- Flask-Pundit - 基于 Rails' Pundit gem,用于为模块提供访问控制
-
数据库/ORM/ODM
- Flask-MongoEngine - 整合 MongoEngine 支持,提供 WTF 表单支持
- Flask-PyMongo - 提供 PyMongo 支持
- Flask-MongoAlchemy - 使用 MongoAlchemy 为 Flask 提供 MongoDB 支持
- Flask-MongoKit - 整合 MongoKit (MongoDB ORM) 支持
- Flask-SQLAlchemy - 整合 SQLAlchemy 支持
- SQLAlchemy - 提供 SQL 工具包及对象关系映射(ORM)工具
- Flask-Peewee - 整合 Peewee, 支持管理, 验证和 REST API
- Peewee - 轻量级 ORM,采用 SQLAlchemy 内核
- Flask-Redis - 添加 Redis 支持
- Flask-And-Redis - 提供对 Redis 数据库的简单支持
- Flask-CouchDBKit - 整合 CouchDBKit 支持
- Flask-OrientDB - 整合 OrientDB Graph&Document 数据库支持
- Flask-Z3950 - 整合 Z39.50 支持
- Flask-Orator - 为应用整合 Orator ORM 支持
- Marshmallow - 轻量级 ORM/ODM 库,用于在复杂对象和 Python 数据类型之间进行转换。根据 Marshmallow Schemas 可进行输入数据验证,序列化和反序列化 (Marshmallow 相关库)
- Flask-Marshmallow - 整合 Marshmallow 序列化/反序列化/验证库支持, 生成优雅的 API
- Marshmallow-SQLAlchemy - 为 SQLAlchemy 整合 Marshmallow 库
-
数据库迁移
- Flask-Migrate - 基于 Alembic 的 SQLAlchemy 数据库迁移框架扩展
- Flask-Alembic - 整合 Alembic 数据库迁移框架支持
- Alembic - 基于 SQLAlchemy 数据库 Schema 版本控制工具
-
会话
- Flask-Session - 服务端会话扩展
- Flask-KVSession - 服务端会话扩展
-
缓存
- Flask-Cache - 添加缓存支持
- Flask-CacheControl - 通过 cache_for, cache, dont_cache 装饰器设置 HTTP Cache-Control 缓存头
- Flask-Webcache - 提供 HTTP 缓存功能
- Flask-Heroku-Cacheify - 为 Heroku 提供自动化 Flask 缓存配置
- Flask-Dogpile-Cache - 整合 dogpile.cache 缓存
-
数据验证
- Flask-WTF - 为 Flask 整合 WTForms,提供 CSRF, 文件上传和验证码等功能
- WTForms - 灵活的表单框架,内置多种表单域验证类
- Flask-SeaSurf - 为应用提供 Cross-Site Request Forgery (CSRF) 保护
- Colander - 为字符串, 映射, 列表提供序列化/反序列化/验证功能的库
- Flask-Validator - 使用 ORM 事件为 SQLAlchemy 提供数据验证功能
-
Email
- Flask-Mail - 为应用提供邮件功能
-
i18n
- Flask-Babel - 基于 Babel 和 pytz 的 i18n/l10n 国际化/本地化扩展
- Flask-BabelEx - Flask-Babel 的分支
- Flask-Locale - 添加 i18n 和 l10n 支持
-
全文搜索
- Whoosh - Python 开发的全文搜索引擎
- Flask-WhooshAlchemy - 为 Flask-SQLAlchemy 整合 Whoosh 全文搜索功能
- Flask-WhooshAlchemyPlus - 解决 Flask-WhooshAlchemy 在中文环境下的问题, 支持 Python 3
- SQLAlchemy-Searchable - 为 Flask-SQLAlchemy 提供全文搜索功能
-
速率限制
- Flask-Limiter - 为 Flask 路由提供速率限制
-
队列
- Flask-RQ - 整合 RQ (Redis Queue) 支持
- Flask-Celery - 整合 Celery,支持后台任务队列(Celery 3.0+ 不需要使用该扩展)
- Celery - 分布式任务队列
-
支付
- PagSeguro-Brazil - 整合 Flask 至 PagSeguro Brazilian 支付网关的示例
- Alipay_python - 提供 alipay 支付功能, 可简单封装为 Flask 插件
- Flask-Paypal - 整合 PayPal 支付功能的示例
- Flask-WePay - 封装 WePay 的 Python API
-
异常跟踪
-
Metrics Tracking
- Flask-Track-Usage - 基本的用量跟踪工具
- Flask-Analytics - 提供用户跟踪, 分析功能
- Flask-StatHat - 整合 StatHat 支持
- Scales - 跟踪记录服务器统计信息
- Flask-Tracking - 在 MongoDB 中记录应用的 HTTP 请求和响应信息
- Flask-Analytics - Flask 分析 JS 代码片段生成工具
-
其他 SDK
- Flask-GoogleMaps - 在 Flask 模板中构建/嵌入 Google Maps
- Flask-Dropbox - 整合 Dropbox Python SDK 支持
- Flask-Heroku - 为 Flask 整合 Heroku 环境变量配置
- Flask-Gravatar - 整合 Gravatar 头像支持
- Flask-WeasyPrint - 为应用整合基于 WeasyPrint 的 PDF 生成功能
- Flask-WeRoBot - 整合微信公众号 SDK (WeRoBot)
- WeRoBot - 微信公众号开发框架
- Flask-Pusher - 整合 Pusher 支持
- Flask-pusher - 整合 Pusher 支持
-
前端 (Asset Pipeline/CDN)
- Flask-Mustache - 整合 Mustache 模板支持
- Flask-Genshi - 整合 Genshi 模板支持
- Flask-Mako - 整合 Mako 模板支持
- Flask-PageDown - 为 Flask 集成 PageDown.js,提供客户端 md 渲染, WTF 表单域
- Flask-Markdown - Markdown jinja2 扩展
- Flask-SimpleMDE - 整合 SimpleMDE Markdown 编辑器
- Flask-Themes - 支持主题功能
- Flask-Sijax - 整合 Sijax Python/jQuery 库支持
- Flask-Bootstrap - 为 Flask 集成 Bootstrap 前端框架
- Flask-Pure - 整合 Pure.css 雅虎前端 CSS 框架
- Flask-Moment - 整合 Moment.js 为模板提供日期/时间格式化功能
- Flask-Assets - 管理静态资源, 编译 LessCSS, 压缩JS, 合并打包多个JS/CSS
- Flask-Funnel - 更好的 asset 管理工具
- Jinja-Assets-Compressor - Jinja 扩展 (兼容 Flask 和其他框架) 用于编译/压缩 assets
- Flask_Util_JS - flask 工具包的 javascript 封装
- Flask-s3 - 从 Amazon S3 为 Flask 应用提供无缝的静态资源
- Flask-SSLify - 为应用强制启用 SSL
- Flask-gzip - 用 Gzip 压缩响应
- Flask-Compress - 添加相关 gzip 头,并实现 gzip 压缩全部响应
- Flask-Optimize - gzip 压缩指定响应,最小化 HTML,及缓存支持
- Flask-HTMLmin - 最小化 HTML 响应
- Flask-Azure-Storage - 整合 Azure Storage 支持
- Flask-QRcode - 为模板提供二维码功能
- Flask-QR - 生成二维码文件
-
开发 (Debugging/Testing/AB Testing)
- Flask-Profiler - Flask 路由性能分析工具
- Flask-Split - A/B 测试工具
- Flask-Testing - Unittest 单元测试扩展
- Pytest-Flask - 集成 pytest fixtures 单元测试工具
- unittest/unittest2 - 单元测试模块
- Nose, Nose2, Pytest - 单元测试框架
- Selenium - 跨平台 Web 自动化测试工具
- Splinter - 基于 Selenium 的 Web 自动化测试工具
- Twill - 轻量级 Web 自动化测试工具,内置 DSL 语言,可编写 twill 测试脚本
- Flask-DebugToolbar - 调试工具栏
- Flask-DebugToolbar-LineProfilerPanel - 为 Flask-DebugToolbar 提供 Line Profiler 面板
- Flask-DebugToolbar-Mongo - Flask-DebugToolbar 的 MongoDB 面板
- Flask2postman - 为 Flask 应用生成 Postman collection
- Flask-Exceptional - 添加 Exceptional 支持,Exceptional 会捕获应用的错误,实时报告错误
-
日期时间
-
Code check
- Pylint - Python 代码静态检查器,规则较为严格
- pycodestyle - Python 代码风格检查器, 代替之前的 pep8 库
- Pyflakes - Python 代码被动检查工具
- Flake8 - 封装了三个检测工具 (Pyflakes, pep8, McCabe 脚本),便于扩展
-
工具
- Flask-Script - 为 Flask 应用添加命令行选项,用于项目管理
- Flask-Runner - 为 Flask 应用添加命令行选项,用于项目管理
- Flask-Jsonrpc - 为 Flask 应用整合 JSON-RPC 支持
- Flask-Bcrypt - 为应用提供 Bcrypt 加密工具包
- Flask-AppBuilder - 基于 Flask 的快速应用开发框架,包括安全, 自动生成表单, google 图表等功能
- Mixer - 用于生成 Django 或 SQLAlchemy 模型实例的工具,可快速方便的生成测试数据
- ForgeryPy - 生成虚拟数据
- FlaskEx - Flask 预定义帮助库
- Flask-Mimerender - HTTP 内容协商扩展,根据不同 Accept 头返回不同格式内容
- Mimerender - 用于 RESTful HTTP 内容协商的 Python 模块
- Flask-Classy - 基于类的视图
- Flask-ShortUrl - 为 Flask 生成短链接
- Flask-FeatureFlags - 通过配置启用或禁用应用特性
- Flask-UUID - 为 Flask 路由添加 UUID URL 转换器
- Flask-Reggie - 为 Flask URL 路由添加正则解析器
- Flask-Via - 以干净的方式处理 URL 路由
- Flask-SocketIO - 为应用整合 Socket.IO 支持
- Flask-uWSGI-WebSocket -为应用整合基于 uWSGI 的高性能 WebSocket
- python-engineio - Python Engine.IO server
- python-socketio - Python Socket.IO server
- Flask-Paginate - 提供分页支持
- Flask-CORS - 用于处理 Cross Origin Resource Sharing (CORS) 的 Flask 扩展,使跨域 AJAX 成为可能
- Flask-Styleguide - 根据 KSS 文档自动为应用生成 Styleguide
- Flask-Uploads - 管理上传文件,通过标识读出文件 URL,避免硬编码
- Frozen-Flask - 将 Flask 应用打包为一组静态文件
- Flask-Mobility - 识别移动端和 PC 端
- Invoke - 通过该库可以便捷的执行系统管理任务
- Pygments - Python 编写的代码高亮工具
- Sphinx - Python 文档生成器
-
Web Server