news 2026/5/1 11:46:41

11 - 使用FastAPI开发Web应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
11 - 使用FastAPI开发Web应用

Python Web 框架的使用率仍然是 Flask、Django 和 FastAPI 之间的三强之争。所有其他框架加起来只能勉强排在第三位。下面对这三个主流框架做下比较:

  • Djanggo
    • 使用比率: 39%
    • 系统特点:全栈框架:内置 ORM、模板引擎、表单处理、用户认证等功能;开箱即用:适合快速开发复杂的 Web 应用;社区强大:有丰富的第三方库和插件。
    • 系统性能:中等。由于功能丰富,性能略低于轻量级框架,但足够应对大多数场景。
    • 适用场景:需要快速开发的全栈应用如内容管理系统(CMS)、社交网络、电子商务网站等。
  • Flask
    • 使用比率:36%
    • 系统特点:微框架:轻量级,核心功能简单,易于扩展;灵活:可以根据需求选择插件和库;学习曲线低:适合初学者和小型项目。
    • 系统性能:较高:由于轻量级设计,性能优于 Django。
    • 适用场景:小型 Web 应用、API 服务、原型开发。
  • FastAPI
    • 使用比率:25%
    • 系统特点:高性能:基于 Starlette 和 Pydantic,性能接近 Node.js 和 Go;异步支持:原生支持异步编程;自动文档:自动生成 OpenAPI 和 Swagger 文档。
    • 系统性能:极高:是目前性能最好的 Python Web 框架之一。
    • 适用场景:高性能 API 服务、微服务、实时应用。

目前纯粹的前端框架有很多如vueangularReact等,笔者不建议使用Python做web界面开发,可以使用Python开发人工智能后端后通过restful API发布接口,供第三方应用调用即可。

下面逐个介绍这几个框架并提供简单的web开发应用,只做抛砖引玉的作用,不做详细的引申,感兴趣的同学可以针对自己感兴趣的框架做进一步的学习。最后我们来了解FastAPI

在现代 Web 开发中,API 是前后端分离架构的核心。FastAPI 凭借其高性能、简洁的语法和自动文档生成功能,成为 Python 开发者的首选框架。FastAPI是一个用于构建API的现代、快速(高性能)的web框架,使用Python 3.8+并基于标准的Python类型提示。

核心特点

  • 基于 Starlette 和 Pydantic:提供异步支持和严格的数据验证。
  • 自动生成 API 文档:内置 Swagger UI 和 ReDoc,开发者无需手动维护文档。
  • 类型提示(Type Hints):利用 Python 的类型系统实现输入参数验证和代码提示。
  • 高效编码:提高功能开发速度约 200% 至 300%。
  • 更少 bug:减少约 40% 的人为(开发者)导致错误。
  • 智能:极佳的编辑器支持。处处皆可自动补全,减少调试时间。
  • 简单:设计的易于使用和学习,阅读文档的时间更短。
  • 简短:使代码重复最小化。通过不同的参数声明实现丰富功能。bug 更少。
  • 健壮:生产可用级别的代码。还有自动生成的交互式文档。
  • 标准化:基于(并完全兼容)API 的相关开放标准:OpenAPI (以前被称为Swagger) 和 JSON Schema。

技术优势

特性说明
高性能异步处理能力(ASGI)支持高并发,性能媲美 Node.js 和 Go。
开发效率高通过类型提示和自动文档生成,减少代码冗余和调试时间。
生态完善可无缝集成 SQLAlchemy、OAuth2、JWT 等常用库。

依赖安装

主意!

fastapi有版本要求,需要的Python版本至少是Python 3.8

安装fastapi
# 使用pip安装 pip install fastapi
安装ASGI服务器

ASGI是异步网关协议接口,一个介于网络协议服务和Python应用之间的标准接口,能够处理多种通用的协议类型,包括HTTP,HTTP2WebSocket

pip install uvicorn[standard]

Uvicorn是一个基于ASGI(Asynchronous Server Gateway Interface)的异步Web服务器,用于运行异步Python web应用程序。它是由编写FastAPI框架的开发者设计的,旨在提供高性能和低延迟的Web服务;

开发第一个应用

首先,使用Python包管理工具如proptry或者uv创建一个新的工程:python-demo。

第一个文件

在新建的工程目录下新建一个python文件:main.py。如果创建工程时已经生成,则打开即可。

# main.py from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"}
启动服务
# 在Terminal中输入: # 语法:uvicorn 文件的相对路径:实例名 --reload # reload:表示热启动,后端代码改变时,前端页面也会随之改变 PS:>uvicorn main:app --reload INFO: Will watch for changes in these directories: ['E:\\test\\project\\fastapi'] INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: Started reloader process [19856] using statreload INFO: Started server process [7500] INFO: Waiting for application startup. INFO: Application startup complete.

启动成功后,打开浏览器,输入:http://127.0.0.1:8000/,即可看到输入的信息:

{"message": "Hello World"}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:57:21

答题PK小程序带后台完整源码

答题PK小程序(带完整后台)- 完整源码重磅上线 一站式答题竞技解决方案,无需从零开发,即刻拥有功能完备、体验流畅的答题PK小程序,搭配可视化管理后台,轻松搭建专属答题竞赛平台!核心亮点 ✅ 全场…

作者头像 李华
网站建设 2026/5/1 8:16:31

揭秘物流路径优化新革命:量子Agent如何实现毫秒级决策?

第一章:物流量子 Agent 的路径优化在现代物流系统中,路径优化是提升运输效率、降低运营成本的核心挑战。传统算法如 Dijkstra 或 A* 在面对大规模动态网络时计算开销大,响应速度受限。近年来,结合量子计算思想与多智能体系统的“物…

作者头像 李华
网站建设 2026/5/1 10:42:41

5分钟掌握企业微信智能消息推送:告别重复劳动的高效方案

5分钟掌握企业微信智能消息推送:告别重复劳动的高效方案 【免费下载链接】wework-wehook-starter 项目地址: https://gitcode.com/gh_mirrors/we/wework-wehook-starter 还在为每日繁琐的消息通知而头疼?团队协作中那些重复性的信息推送工作不仅…

作者头像 李华
网站建设 2026/4/24 2:05:09

Unity WebGL RTSP播放器完整教程:3分钟搭建专业监控系统

Unity WebGL RTSP播放器完整教程:3分钟搭建专业监控系统 【免费下载链接】RTSP-Player-For-Unity-WebGL 测试网页居中弹窗播放 RTSP 视频,可用于接 rtsp 监控,同时演示怎么接入到 webgl 上 项目地址: https://gitcode.com/gh_mirrors/rt/RT…

作者头像 李华
网站建设 2026/5/1 6:57:07

MQTT Explorer深度评测:物联网调试客户端的终极解决方案

在物联网快速发展的今天,MQTT客户端已成为开发者和系统管理员不可或缺的工具。MQTT Explorer作为一款功能全面的消息监控工具,在物联网调试客户端领域展现出卓越的性能。本文将为您全面解析这款工具的核心优势、实战应用和配置技巧。 【免费下载链接】MQ…

作者头像 李华
网站建设 2026/5/1 6:57:58

为什么你的仓储Agent分拣效率总上不去?99%源于这4个隐藏设计缺陷

第一章:物流仓储 Agent 的分拣效率在现代物流仓储系统中,智能 Agent 技术的引入显著提升了分拣作业的自动化与智能化水平。通过部署具备自主决策能力的 Agent,系统能够在无需人工干预的情况下完成包裹识别、路径规划与目标投递,从…

作者头像 李华