FastAPI 教程

11.1 小型项目结构(单一文件)

Python FastAPI入门教程 - 简单易懂,零基础快速上手

FastAPI 教程

这个FastAPI入门教程专为Python初学者设计,无Web开发经验也能学会。通过生活化类比和简单示例,让你快速搭建自己的Web应用,侧重实践操作和建立信心。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高Python开发效率。特别适合处理列表等数据结构的开发工作。

了解更多

FastAPI入门教程:从零开始搭建你的第一个Web应用

引言:什么是FastAPI?为什么适合初学者?

想象一下,你开了一家小餐馆,需要一个点餐系统来让客人点菜。FastAPI就像一个超级简单的点餐系统:你告诉它菜单(即你的代码),它就能自动处理客人的订单(即HTTP请求),并快速上菜(即返回响应)。作为一个Python初学者,你可能担心Web开发太复杂,但FastAPI让这一切变得像写普通Python代码一样简单!

快速上手:立即运行你的第一个FastAPI应用

别担心理论,我们先动手!跟着步骤做,几分钟内就能看到你的Web应用运行起来。

第一步:安装FastAPI和服务器

在命令行中运行这个命令,就像安装一个Python库一样简单:

pip install fastapi uvicorn
  • 解释:FastAPI是框架,uvicorn是服务器,就像一个服务员来帮你跑腿。

第二步:创建单一文件项目

创建一个新文件夹,比如叫fastapi_demo,然后在里面创建一个Python文件main.py。单一文件意味着所有代码都在一个文件里,最适合小项目和学习!

打开main.py,输入以下代码:

from fastapi import FastAPI

# 创建一个FastAPI应用实例,就像给你的餐馆起个名字
app = FastAPI()

# 定义你的第一个路由:当客人访问首页时,说“Hello World”
@app.get("/")
def read_root():
    return {"Hello": "World"}
  • 成功时刻:你已经定义了一个Web端点!这个路由就像菜单上的“欢迎光临”菜品。

第三步:运行应用

回到命令行,导航到你的fastapi_demo文件夹,运行:

uvicorn main:app --reload
  • 解释main:app告诉服务器从main.py文件加载app实例,--reload表示代码变化时自动重启,就像服务员随时待命。
  • 结果:你会看到输出,如Uvicorn running on http://127.0.0.1:8000。太棒了!你的Web应用已经在本地运行了。

第四步:查看结果

打开浏览器,访问http://127.0.0.1:8000,你应该看到{"Hello": "World"}。恭喜!你刚刚搭建了一个活的Web API。

理解基础概念:用生活类比解释

现在,你已经成功了,我们来简单理解一下背后的概念。

  • 路由和路径操作:就像餐馆的菜单项。@app.get("/") 定义了一个GET请求的路由,对应根路径“/”。函数read_root是处理这个请求的“厨师”。
  • 响应:函数返回的内容就是给客人的“菜”,这里是一个JSON响应。

更多简单示例:建立信心

让我们在同一个main.py文件中添加更多功能,体验FastAPI的强大。

示例1:路径参数——动态生成内容

main.py中添加:

@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}
  • 运行:保存文件,服务器会自动重启。
  • 测试:访问http://127.0.0.1:8000/items/42?q=test,你会看到{"item_id": 42, "q": "test"}。看,你可以动态处理不同物品的请求!

示例2:POST请求——接收数据

添加:

from pydantic import BaseModel

# 定义一个数据模型,就像定义点菜单的格式
class Item(BaseModel):
    name: str
    price: float

@app.post("/items/")
def create_item(item: Item):
    return item
  • 解释:这里我们用了Pydantic来验证数据。FastAPI会自动检查请求体的JSON是否符合Item模型。
  • 测试:你可以用工具如curl或浏览器扩展发送POST请求,但作为初学者,可以先用代码运行感受。保存文件,应用会自动更新。

小型项目结构:单一文件的优势

对于初学者和小型项目,单一文件(如main.py)是最好的选择:

  • 简单:所有代码集中一处,易于理解和修改。
  • 快速:无需复杂目录结构,立即上手。
  • 灵活:随着项目增长,你可以轻松拆分到多个文件,但现在先享受简洁。

在你的main.py中,你可以继续添加更多路由和函数,就像扩展菜单一样。例如,添加用户管理、错误处理等。

总结和下一步

你已经学会了:

  1. 安装FastAPI和运行服务器。
  2. 创建单一文件FastAPI应用。
  3. 定义GET和POST路由,处理请求和响应。
  4. 使用路径参数和查询参数。

建立信心:记住,Web开发并不神秘——FastAPI让它变得和写Python脚本一样自然。尝试修改代码,添加你自己的功能,比如返回一个列表或计算一些数据。

下一步,你可以探索:

  • 添加更多路由和复杂逻辑。
  • 使用FastAPI的自动文档(访问http://127.0.0.1:8000/docs查看交互式API文档)。
  • 学习如何部署应用到云服务器。

保持动手实践,享受编码的乐趣!如有问题,FastAPI社区很友好,随时寻求帮助。

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包