news 2026/5/11 12:40:07

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/8 9:19:43

Navicat16 Mac版无限试用重置技术详解

Navicat16 Mac版无限试用重置技术详解 【免费下载链接】navicat_reset_mac navicat16 mac版无限重置试用期脚本 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 还在为Navicat16试用期到期而影响数据库开发工作吗?作为专业的数据库管理工具…

作者头像 李华
网站建设 2026/5/8 9:19:59

医疗康复 Agent 如何精准指导运动?:3个关键技术突破与临床验证结果

第一章:医疗康复 Agent 的运动指导在现代智能医疗系统中,医疗康复 Agent 正逐渐成为患者术后恢复与慢性病管理的重要辅助工具。这类 Agent 能够结合传感器数据、医学知识库与个性化康复模型,为用户提供精准的运动指导方案。实时动作监测与反馈…

作者头像 李华
网站建设 2026/5/8 9:20:00

如何快速制作最新Windows ISO:Win_ISO_Patching_Scripts终极指南

如何快速制作最新Windows ISO:Win_ISO_Patching_Scripts终极指南 【免费下载链接】Win_ISO_Patching_Scripts Win_ISO_Patching_Scripts 项目地址: https://gitcode.com/gh_mirrors/wi/Win_ISO_Patching_Scripts 你是否曾为制作包含最新补丁的Windows安装镜像…

作者头像 李华
网站建设 2026/5/11 3:06:45

你还手动监控系统?MCP MS-720 Agent自动化运维已成行业标配!

第一章:MCP MS-720 Agent 概述MCP MS-720 Agent 是一款专为现代混合云环境设计的监控与配置管理代理程序,广泛应用于跨平台服务器资源监控、安全策略执行和自动化运维任务中。该代理支持在 Linux、Windows 及容器化环境中部署,能够与中央管理…

作者头像 李华
网站建设 2026/5/8 10:20:11

国产数据库迁移实战:从零到一的完整解决方案

国产数据库迁移实战:从零到一的完整解决方案 【免费下载链接】db-migration 项目地址: https://gitcode.com/gh_mirrors/db/db-migration 在数据库国产化浪潮中,你是否正在为达梦、GBase 8s、OpenGauss 等国产数据库的迁移而头疼?传统…

作者头像 李华