11.1 小型项目结构(单一文件)
Python FastAPI入门教程 - 简单易懂,零基础快速上手
这个FastAPI入门教程专为Python初学者设计,无Web开发经验也能学会。通过生活化类比和简单示例,让你快速搭建自己的Web应用,侧重实践操作和建立信心。
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中,你可以继续添加更多路由和函数,就像扩展菜单一样。例如,添加用户管理、错误处理等。
总结和下一步
你已经学会了:
- 安装FastAPI和运行服务器。
- 创建单一文件FastAPI应用。
- 定义GET和POST路由,处理请求和响应。
- 使用路径参数和查询参数。
建立信心:记住,Web开发并不神秘——FastAPI让它变得和写Python脚本一样自然。尝试修改代码,添加你自己的功能,比如返回一个列表或计算一些数据。
下一步,你可以探索:
- 添加更多路由和复杂逻辑。
- 使用FastAPI的自动文档(访问
http://127.0.0.1:8000/docs查看交互式API文档)。 - 学习如何部署应用到云服务器。
保持动手实践,享受编码的乐趣!如有问题,FastAPI社区很友好,随时寻求帮助。