介绍
FastAPI,不像Flask框架,自动识别 static 静态文件夹。FastAPI,必须手动挂载才能使用
目录
project/
├── .env # 环境变量
├── main.py # 程序入口
├── config.py # 项目配置
├── database.py # 数据库连接
├── models.py # ORM模型
├── schemas.py # 数据校验
├── routes.py # 接口路由
├── data/ # SQLite数据库存放
├── static/ # XXXX 静态文件根目录 XXXXX
│ ├── css/
│ ├── js/
│ ├── images/
│ └── index.html
└── requirements.txt
静态目录位置
具体与运行命令相关:
在 project/ 下执行下面命令:
# 开发热重载
uvicorn main:app --reloa
那 static 就在 project/ 下
挂载静态目录
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
# 挂载静态目录
app.mount("/static", StaticFiles(directory="static"), name="static")
解释:
directory="static"指的是:从【项目根目录】开始找static/文件夹,支持上面无app目录和有app目录/static路由,访问:http://127.0.0.1:8000/static/images/1.pngname="static":给挂载实例起名,内部标识用