从零构建FastAPI后端管理系统:新手详细教程
本文将带你逐步解析一个基于FastAPI的后端管理系统,从项目配置到核心功能实现,每个文件的作用和代码细节都将详细讲解。
特别提示:请务必对照项目代码进行阅读,项目中的代码是完整的,尤其是 README.md 文件能帮助你快速搭建出全栈环境,搭建好以后,登录--->系统管理--->账号管理模块进行研究。
在此向大家表示歉意,原本计划逐步详细讲解每个部分,但由于时间有限未能实现。不过不用担心,代码中包含了丰富的注释,再加上配套的前端项目,可以帮助你更好地理解和测试各个功能模块,逐步吸收和掌握这些内容。
一、项目入口:main.py
from contextlib import asynccontextmanager
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from internal.auth import router as auth_router
from middleware.cors_middleware import add_cors_middleware
from sqlmodel import SQLModel
from dependencies.database import engine
@asynccontextmanager
async def lifespan(app: FastAPI):
# 应用启动时创建数据库表
SQLModel.metadata.create_all(engine)
yield # 应用关闭时执行清理操作
app = FastAPI(lifespan=lifespan)
add_cors_middleware(app) # 添加跨域支持
app.mount("/static", StaticFiles(directory="static"), name="static") # 静态文件目录
app.include_router(auth_router, prefix="/geeker") # 集成认证路由
关键点解析:
- @asynccontextmanager:管理应用生命周期,初始化时创建数据库表
- SQLModel.metadata.create_all():自动生成数据库表结构
- add_cors_middleware:解决前端跨域请求问题
- mount("/static"):托管前端静态文件(如图片、CSS)
二、环境配置:config.env
SECRET_KEY=c2VjcmV0LWtleS1mb3ItaHMyNTYtand0LXNpZ25pbmc=
ALGORITHM=HS256
EXPIRE=330
SERVER_HOST=0.0.0.0
SERVER_PO