[python][基础]Flask 技术栈

Flask 是一个轻量级的 Python Web 框架,以其灵活性和易于上手的特点而广受欢迎。虽然 Flask 本身功能简洁,但通过与其他工具和扩展的结合,可以构建功能强大的 Web 应用。以下是一个典型的 Flask 技术栈,涵盖了从开发到部署的各个层面。

1. 开发基础

Flask 核心
  • Flask:核心框架,用于构建 Web 应用。

  • Flask-Blueprints:用于模块化和可重用的代码组织。

  • Flask-Extensions:扩展库,用于扩展 Flask 的功能,例如:

    • Flask-SQLAlchemy:用于数据库操作。

    • Flask-Migrate:用于数据库迁移。

    • Flask-Login:用于用户认证。

    • Flask-WTF:用于表单处理和验证。

    • Flask-Babel:用于国际化和本地化。

    • Flask-CORS:用于跨域资源共享。

2. 前端开发

HTML/CSS/JavaScript
  • HTML:用于构建页面结构。

  • CSS:用于页面样式设计。

    • Bootstrap:响应式设计框架。

    • Tailwind CSS:实用主义 CSS 框架。

  • JavaScript:用于页面交互。

    • jQuery:简化 HTML 操作。

    • Vue.js/React.js:用于构建动态前端界面。

前端构建工具
  • Webpack:用于模块打包和构建。

  • Babel:用于将 ES6+ 代码转译为兼容性强的 JavaScript。

  • PostCSS:用于处理 CSS 预处理器(如 Sass/LESS)。

3. 后端开发

数据库
  • 关系型数据库

    • SQLite:轻量级数据库,适合开发和测试。

    • MySQL:功能强大的开源数据库。

    • PostgreSQL:高级开源数据库,支持复杂查询。

  • 非关系型数据库

    • MongoDB:NoSQL 数据库,适合存储 JSON 格式的数据。

    • Redis:键值存储,用于缓存和消息队列。

ORM 工具
  • SQLAlchemy:Python 的 ORM 工具,支持多种数据库。

  • Alembic:用于数据库迁移。

任务队列
  • Celery:用于异步任务处理。

  • RabbitMQ/Redis:作为 Celery 的消息代理。

4. 身份验证和授权

  • Flask-Login:用于管理用户登录状态。

  • Flask-Principal:用于权限管理。

  • OAuth:用于第三方登录(如 Google、Facebook)。

  • JWT (JSON Web Tokens):用于无状态身份验证。

5. API 开发

  • Flask-RESTful:用于构建 RESTful API。

  • Flask-GraphQL:用于构建 GraphQL API。

  • Marshmallow:用于数据序列化和反序列化。

6. 部署

服务器
  • Gunicorn:Python WSGI HTTP 服务器,用于生产环境。

  • uWSGI:高性能的 WSGI 服务器。

  • Nginx/Apache:反向代理服务器,用于负载均衡和静态资源服务。

容器化
  • Docker:用于容器化部署。

  • Docker Compose:用于管理多容器应用。

云平台
  • Heroku:PaaS 平台,易于部署。

  • AWS Elastic Beanstalk:AWS 提供的 PaaS 平台。

  • Google Cloud App Engine:Google 提供的 PaaS 平台。

  • Azure App Service:Microsoft 提供的 PaaS 平台。

持续集成/持续部署 (CI/CD)
  • GitHub Actions:用于自动化构建、测试和部署。

  • Jenkins:开源的 CI/CD 工具。

  • GitLab CI:GitLab 提供的 CI/CD 功能。

7. 日志和监控

  • Python logging 模块:用于日志记录。

  • Flask-Logging:用于集成日志功能。

  • Prometheus/Grafana:用于监控应用性能。

  • ELK Stack (Elasticsearch, Logstash, Kibana):用于日志管理和可视化。

8. 安全性

  • Flask-Talisman:用于增强 HTTP 安全性。

  • Flask-SeaSurf:用于防止 CSRF 攻击。

  • Flask-Login:用于管理用户会话。

  • Flask-Principal:用于权限管理。

  • Flask-CORS:用于跨域资源共享。

9. 测试

  • pytest:用于编写和运行测试。

  • Flask-Testing:用于测试 Flask 应用。

  • Selenium:用于端到端测试。

10. 文档

  • Flask-Sphinx:用于生成文档。

  • Swagger/OpenAPI:用于 API 文档。

相关推荐
人工干智能2 分钟前
科普:pandas 时间偏移别名:ts.resample(“5Min“).sum()
python·pandas
开源量化GO12 分钟前
最新AI辅助量化表达:先理清规则,再按需求选工具
人工智能·python
Zane199418 分钟前
为什么 del 一个对象有时立刻消失,有时却纹丝不动?一文讲透引用计数与垃圾回收
后端·python
编码浪子23 分钟前
Rust 智能指针深度实战:Box/Rc/Arc/RefCell 选型决策与内存管理避坑
开发语言·后端·rust
yichudu34 分钟前
Python 装饰器 decorator
开发语言·python
电商API_1800790524744 分钟前
速卖通商品采集API技术文章
java·开发语言·c++·api·跨境电商·商品详情
一晌小贪欢1 小时前
Python办公14:批量解压文件夹内的所有 ZIP/RAR 并自动分类
开发语言·python·excel·数据可视化·python办公
郑州光合科技余经理1 小时前
海外版外卖系统架构:订单怎么流转、权限怎么分
java·开发语言·前端·系统架构·uni-app·php·ai编程
Python 实战手记1 小时前
企业微信主体变更公证书办理全解析:适用场景、材料规范、踩坑点与Python信息校验脚本
开发语言·python·企业微信
longxiaozhang61 小时前
C#异常处理:程序出错了怎么办?
开发语言·数据库·c#