易君召
发布于 2026-08-16 / 作者:易君召 / 1 阅读
0

Python Web 开发常用库

分为 Web 框架、API 开发、ORM 数据库、表单校验、模板、异步、安全、任务队列、工具辅助几大类。

一、Web 框架

  1. Django

  • 全栈重型框架,内置 ORM、Admin 后台、表单、认证、权限、模板,适合后台管理系统、内容网站。

  • 特点:电池内置,开发效率高,遵循 MTV 架构。

  1. Flask

  • 轻量微型框架,核心极简,靠扩展实现功能,适合中小型 web、原型开发。

  • 常用扩展:Flask‑SQLAlchemy、Flask‑Login、Flask‑Marshmallow。

  1. FastAPI

  • 高性能异步 API 框架,基于 Starlette+Pydantic,自动生成 OpenAPI 接口文档,类型提示友好,现在后端 API 首选。

  1. Starlette

  • 轻量异步 ASGI 框架,FastAPI 底层,适合自建异步 web 服务。

  1. Sanic

  • 高性能异步 web 框架,类似 Flask,高并发场景。

  1. Tornado

  • 异步非阻塞 web 框架,老项目常用,长连接、websocket。

二、API / 序列化

  1. Pydantic:数据校验、类型解析,FastAPI 核心依赖。

  2. Marshmallow:对象序列化 / 反序列化,配合 Flask/Django。

  3. Django REST framework(DRF):Django 生态,快速构建 RESTful 接口。

三、ORM 数据库

  1. SQLAlchemy:强大 Python ORM,支持同步;SQLAlchemy‑Asyncio异步版本。Flask 常用。

  2. Django ORM:Django 自带。

  3. Peewee:轻量小巧 ORM,代码简洁。

  4. Tortoise‑ORM:异步 ORM,类似 Django ORM,适合 FastAPI/Sanic 异步项目。

  5. ormar:异步 ORM,基于 pydantic+sqlalchemy,model 同时做数据校验。

四、模板引擎

  1. Jinja2:最主流,Flask、FastAPI 都在用。Django 也可替换使用。

  2. Django Template:Django 内置模板。

五、表单 & 验证

  1. WTForms:web 表单库,Flask 标配,表单渲染、校验。

  2. Django Forms:Django 内置表单。

六、异步 & WebSocket

  1. websockets:标准 websocket 库。

  2. python‑multipart:解析 multipart 表单文件上传,FastAPI 依赖。

七、任务队列(后台异步任务)

  1. Celery:分布式任务队列,搭配 Redis/RabbitMQ,Django/Flask 大量使用。

  2. RQ(Redis Queue):轻量任务队列,基于 Redis。

  3. Arq:异步任务队列,基于 Redis,适合 asyncio 项目。

八、安全相关

  1. python‑jose:JWT 令牌处理(FastAPI 推荐)

  2. PyJWT:JWT 实现,传统项目用。

  3. passlib:密码哈希加密。

  4. itsdangerous:签名加密,Flask 内置,cookie 安全。

九、HTTP 客户端(服务端调用外部接口)

  1. requests:同步 http 客户端。

  2. httpx:支持同步 + 异步,现代 requests 替代。

  3. aiohttp:异步 http 客户端,也可做简单 web 服务。

十、部署、静态文件

  1. gunicorn:WSGI 生产服务器,部署 Django/Flask。

  2. uvicorn:ASGI 服务器,运行 FastAPI/Starlette 异步服务。

  3. whitenoise:静态文件服务,生产环境简化部署。

选型简单建议

  • 管理后台、完整网站 → Django + DRF

  • 轻量网站、小服务 → Flask

  • 后端 API、高并发、接口项目 → FastAPI

  • 异步 ORM 选 Tortoise‑ORM;同步 ORM 选 SQLAlchemy


本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。

原文链接 https://www.yijunzhao.cn/archives/python-web-development-common-libraries-guide

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/