Flask
Awesome Flask
¶
> 与 Flask 相关的精彩内容的精选列表.
Flask 是一个用 Python 编写的轻量级 WSGI Web 应用程序框架.
Third-Party Extensions¶
Admin¶
- Flask-Admin - 功能管理面板,提供用于根据您的模型管理数据的用户界面.
APIs¶
RESTful API Support¶
- Eve - 专为人类设计的 RESTful API 框架.
- Flask-Classful - 添加了对基于类的视图的支持,以设置 RESTful API 路由端点.
- Flask-MongoRest - 围绕 RESTful API 框架 MongoEngine.
- Flask-RESTful - 快速构建 RESTful API.
RESTful API + Swagger/OpenAPI Documentation Support¶
- Connexion - 开源、基于 OpenAPI、构建在 Flask 之上的 REST 框架.
- Flask-Rebar - 结合烧瓶, marshmallow, 和 OpenAPI 用于强大的 REST 服务.
- Flask-RESTX - 社区驱动的分叉 Flask-RESTPlus 这使得使用 Flask 构建和记录 RESTful API 变得容易.
Swagger/OpenAPI Documentation Support¶
- Flask-APISpec - 自动记录 REST API.
- SAFRS: Python OpenAPI & JSON:API Framework - SAFRS 是 SqlAlchemy Flask-Restful Swagger 的缩写,旨在帮助开发人员为 SQLAlchemy 数据库对象和关系创建自记录 JSON API.
Auth¶
Basic Auth and Session-based (for HTML Endpoints)¶
- Flask-HTTPAuth - 验证.
- Flask-Login - 帐户管理和身份验证.
- Flask Principal - 授权.
- Flask-Security-Too - 账户管理、身份验证、授权.
- Flask-Session - 会话管理.
- Flask-SimpleLogin - 验证.
- Flask-User - 账户管理、身份验证、授权.
> 对 Flask-User 和 Flask-Security 之间的差异感到好奇吗? 查看 Flask 用户 FAQ.
JWT-based (for JSON Endpoints)¶
- Flask-JWT - 使用 JWT 的基本支持.
- Flask-JWT-Extended - 对使用 JWT 的高级支持.
- Flask-JWT-Router - 将授权路由添加到 Flask 应用程序.
- Flask-Praetorian - Flask API 的身份验证和授权.
OAuth¶
- Authlib - 用于构建 OAuth 和 OpenID 客户端和服务器的库.
- Authomatic - 适用于 Python Web 应用程序的框架无关库,可通过 OAuth 和 OpenID 简化用户身份验证和授权.
- Flask-Dance - OAuth 支持通过 OAuthLib.
Cache¶
- Flask-Caching - 缓存支持.
Data Validation and Serialization¶
- Flask-Marshmallow - Flask 和 Marshmallow(一个对象序列化/反序列化库)的薄集成层,为 Marshmallow 添加了附加功能.
- Flask-Pydantic - Pydantic 支持.
Databases¶
ORMs¶
- Flask-Peewee - 支持 Peewee,一个 ORM 和数据库迁移工具.
- Flask-Pony - 支持 Pony ORM.
- Flask-SQLAlchemy - 支持 SQLAlchemy、SQL 工具包和 ORM.
ODMs¶
- Flask-MongoEngine - 桥接 Flask 和 MongoEngine,用于与 MongoDB 配合使用.
- Flask-PyMongo - 连接 Flask 和 PyMongo 以使用 MongoDB.
Migrations¶
- Flask-Alembic - 可配置 Alembic 围绕 Flask-SQLAlchemy 数据库的迁移环境,用于处理数据库迁移.
- Flask-DB - Flask CLI 扩展可帮助您迁移、删除、创建和播种 SQL 数据库.
- Flask-Migrate - 通过 Alembic 处理 SQLAlchemy 数据库迁移.
> 对 Alembic、Flask-Alembic、Flask-Migrate 和 Flask-DB 之间的差异感到好奇吗? 审查 this item 来自 Flask-DB 的常见问题解答.
Other Tools¶
- Flask-Excel - 用途 pyexcel 以不同的 Excel 格式读取、操作和写入数据:csv、ods、xls、xlsx 和 xlsm.
Developer Tools¶
Debugging¶
- Flask-DebugToolbar - Flask 的 Django 调试工具栏端口.
- Flask-Profiler - 端点分析器/分析器.
Fixtures¶
- Flask-Fixtures - 从 JSON 或 YAML 创建数据库装置.
- Mixer - 对象生成工具.
Logging¶
- Rollbar - 使用 Rollbar 记录 Flask 错误.
Monitoring¶
- Airbrake - 空气制动瓶集成.
- Elastic APM Agent - 弹性 APM Flask 集成.
- Flask Monitoring Dashboard - 用于自动监控 Flask Web 服务的仪表板.
- Sentry Python SDK - Sentry SDK Flask 集成.
Tracing¶
- Flask-OpenTracing - OpenTracing 仪器.
Testing¶
- Flask-Testing - 单元测试扩展.
- Pytest-Flask - Pytest 支持测试 Flask 应用程序.
Email¶
- Flask-Mail - 提供简单的电子邮件发送功能.
- Flask-Mailman - Flask 的
django.mail
端口. - Flask-Mail-SendGrid - Provides simple email base on Flask-Mail for sending email by SendGrid.
Forms¶
- Flask-WTF - 将 Flask 与 WTForms 集成(还提供 CSRF 保护).
Full-text Search¶
- flask-msearch - 全文搜索.
- Flask-WhooshAlchemy3 - Flask-SQLAlchemy 的全文搜索 + Whoosh 索引功能.
- SQLAlchemy-Searchable - 提供 SQLAlchemy 模型的全文搜索功能.
Security¶
- Flask-Argon2 - 提供 argon2 哈希实用程序.
- Flask-Bcrypt - 提供 bcrypt 哈希实用程序.
- Flask-CORS - 跨源资源共享(CORS)处理.
- Flask-SeaSurf - 防止跨站点请求伪造 (CSRF).
- Flask-Talisman - HTTPS 和安全标头.
Task Queues¶
- Celery - 最常用的用于处理异步任务和调度的Python库.
- Dramatiq - 快速可靠的 Celery 替代品.
- Flask-RQ - RQ (Redis 队列)集成.
- Huey - Redis基于任务队列,旨在提供一个简单而灵活的框架来执行任务.
Utils¶
- Flask-Babel - 支持国际化 (i18n) 和本地化 (l10n).
- Flask-File-Upload - 轻松上传文件.
- Flask-FlatPages - 提供基于文本文件的平面静态页面.
- Frozen-Flask - 将 Flask 应用程序冻结为一组静态文件.
- Flask-GraphQL - GraphQL 支持.
- Flask-Injector - 添加对依赖注入的支持.
- Flask-Limiter - Flask 路由的速率限制功能.
- Flask-Moment - Jinja2 模板的 Moment.js 日期和时间格式化助手.
- Flask-Paginate - 分页支持.
- Flask-Reactize - 将 React 的 Node.js 开发后端隐藏在 Flask 应用程序后面.
- Flask-Shell2HTTP - Python 子进程 API 的 RESTful/HTTP 包装器,因此您可以将任何命令行工具转换为 RESTful API 服务.
- Flask-Sitemap - 站点地图生成.
- Flask-SocketIO - Socket.IO 集成.
- Flask-SSE - 使用烧瓶进行流式传输.
Resources¶
Official Resources¶
- Project Website - Flask 官方网站.
- Documentation - 所有 Flask 版本的综合文档.
- Flaskr Tutorial - 构建一个名为 Flaskr 的基本博客应用程序.
- Source Code - 托管在 GitHub 上.
External Resources¶
- Full Stack Python's Flask Page - Flask 哲学的解释以及其他资源和教程的链接.
-
Miguel Grinberg's Blog - 多个特定于 Flask 的教程.
-
Nick Janetakis's Blog - Flask 提示、技巧和教程.
- Patrick Kennedy's Blog - 有关使用 Flask 学习 Python Web 应用程序开发的大量教程.
- RealPython - 许多关于 Flask 的高质量教程.
- TestDriven.io - Flask 的最新教程.
Community¶
- Discord - Pallets Projects community on Discord (use the
#get-help
channel for Flask support). - IRC Channel - Chat with other Flask users on IRC channel
#pocoo
on FreeNode. - Mailing List - Flask 和 Pallets 项目的一般讨论 (
flask@python.org
). - Reddit - Flask 子版块.
- Stack Overflow - 带有“烧瓶”标签的问题.
- Twitter - 有关更新、安全修复等的官方公告.
Conferences¶
- FlaskCon - 社区驱动的 Flask 活动,旨在让世界各地的演讲者和与会者参加与 Flask 相关的技术和福音会议.
- PyConWeb - 涵盖 Django、Tornado、Flask、API 框架. AsyncIO、网络、前端、JavaScript 和网络安全.
- Flask Conf Brazil - Flask 开发者和用户会议.
- PyCon US - 使用和开发开源 Python 编程语言的社区最大的年度聚会.
- PyCon Australia - 为 Python 编程社区组织的全国会议.
- Euro Python - 欧洲最大的 Python 会议.
- PyCon - 全球所有 PyCon 的完整列表.
Meetups¶
- Flask - 20 个国家/地区的 40 多个团体.
- Python Web Development - 81 个国家/地区的 600 多个团体.
- Python - 100 个国家/地区的 2,400 多个团体.
Podcasts¶
- TalkPython - 领先的 Python 播客,在 Flask 上有几集.
- Podcast Init - 一个流行的 Python 播客,有时会有 Flask 嘉宾.
- Python Bytes - 另一个不时讨论 Flask 的 Python 播客.
- Full Stack Python's Best Python Podcasts Page - 活跃的 Python 特定播客列表.
Tutorials¶
- Flask Mega-Tutorial - 针对 Python 初学者和中级开发人员的总体教程,教授使用 Flask 框架进行 Web 开发.
- Flaskr TDD - Flask、测试驱动开发 (TDD) 和 JavaScript 简介.
- Make a Web App Using Python & Flask! - 自下而上创建 Python 网站.
Courses¶
- Developing Web Applications with Python and Flask - 本课程重点通过使用测试驱动开发 (TDD) 构建和测试 Web 应用程序来教授 Flask 基础知识.
- Test-Driven Development with Python, Flask, and Docker - 了解如何构建、测试和部署由 Python、Flask 和 Docker 提供支持的生产级微服务.
- Authentication with Flask, React, and Docker - 了解如何向 Flask 和 React 微服务添加身份验证!.
- Deploying a Flask and React Microservice to AWS ECS - 了解如何将微服务部署到由 Flask、React 和 Docker 提供支持的 Amazon ECS.
- Build a SAAS App with Flask - 学习使用 Flask 和 Docker 构建 Web 应用程序.
- Full Stack Foundations - 使用 Python 构建数据驱动的 Web 应用程序.
- Designing RESTful APIs - 构建并保护后端 API 服务器.
Books¶
- Flask Web Development - 通过逐步开发一个实际项目,从头开始学习该框架.
- Real Python - 通过示例学习 Python 编程.
- Explore Flask - 使用 Flask 开发 Web 应用程序的最佳实践和模式.
Videos¶
- PyVideo
- Practical Flask Web Development Tutorials
- Python Flask Tutorial: Full-Featured Web App
- Discover Flask - Full Stack Web Development with Flask
Hosting¶
PaaS¶
(Platforms-as-a-Service)
- Heroku
- PythonAnywhere
- AWS Elastic Beanstalk
- Google App Engine
- Microsoft Azure App Service
- Divio
- Render
IaaS¶
(Infrastructure-as-a-Service)
Serverless¶
Frameworks:
Compute:
Projects¶
Boilerplates¶
- cookiecutter-flask - 使用 Bootstrap 4、Webpack 进行资产捆绑和缩小、入门模板和注册/身份验证.
- Cookiecutter Flask Skeleton - Flask 启动项目 Cookiecutter.
- Flask-AppBuilder - 简单快速的应用程序开发框架,包括详细的安全性、模型的自动 CRUD 生成、Google 图表等等.
- flask-base - 包括 SQLAlchemy、Redis、用户身份验证等.
- Flask-Bootstrap - 集成 SQLAlchemy、身份验证和 Bootstrap 前端.
- flask-htmx-boilerplate - 使用 HTMX 和 Tailwind CSS 的 Python Flask 应用程序的样板模板.
- uwsgi-nginx-flask-docker - 带有 uWSGI 和 Nginx 的 Docker 镜像,用于在单个容器中运行的 Python 中的 Flask 应用程序.
- React-Redux-Flask - Flask JWT 后端和带有 Material UI 的 React/Redux 前端的样板应用程序.
- Flask-Scaffold - 使用 Flask 在 Angular 6、Bootstrap 4 和 REST API 中构建数据库驱动的 Web 应用程序原型.
- Flask-VueJS - 将 Flask 应用程序与 VueJS 连接.
Open Source Projects¶
- ActorCloud - 开源物联网平台.
- Airflow
- Busy Beaver - 芝加哥 Python 的社区参与 Slack 机器人.
- FlaskBB - 经典的论坛软件.
- Indico - 功能丰富的事件管理系统,制造于 CERN.
- Quokka CMS - 世界上最快乐的 CMS.
- PythonBuddy - 在线 Python 编辑器,具有实时语法检查和执行功能.
- Redash - 旨在使任何人,无论技术复杂程度如何,都能利用大大小小的数据的力量.
- SkyLines - 实时跟踪、航班数据库和竞赛框架.
- Security Monkey - 监控 AWS、GCP、OpenStack 和 GitHub 组织的资产及其随时间的变化.
- SecureDrop - 开源举报人提交系统,媒体组织可以使用该系统安全地接受来自匿名来源的文件并与匿名来源进行通信.
- SimpleLogin - 使用电子邮件别名保护您的在线身份.
- sr.ht - Git 托管服务(查看 Why I chose Flask to build sr.ht's mini-services 以及).
- Timesketch - 协作取证时间线分析.
> 注意:该项目由 ** 提供支持TestDriven.io **. 请购买我们的 Flask 课程之一来支持这个开源项目. 了解如何构建、测试和部署由 Docker、Flask 和 React 提供支持的微服务!