可以使用StaticFiles从目录中自动提供静态文件。
安装aiofiles
pip install aiofiles
使用静态文件
- 导入StaticFiles
- 在指定的路径中挂载StaticFiles() ```python from fastapi import FastAPI from fastapi.staticfiles import StaticFiles
app = FastAPI()
app.mount(“/static”, StaticFiles(directory=”static”), name=”static”) ```
:::info
技术细节
可以使用from starlette.staticfiles import StaticFiles
FASTAPI提供了相同的类库fastapi.staticfiles,仅仅作为一个便利,它来自于Starlette
:::
Mounting
mounting意思是在指定的路径添加一个完整的独立的应用,然后负责处理所有的子路径。
这与使用APIRouter不同,因为挂载的应用程序是完全独立的。
主应用程序中的OpenAPI和docs不会包含任何来自挂载应用程序的内容。
您可以在《高级用户指南》中阅读更多信息。
详细内容
/static指的是这个 “子应用 “将被 “挂载 “的子路径。所以,任何以”/static “开头的路径都会被它处理。directory="static"指的是包含静态文件的目录名称。name="static"给了一个可以被FastAPI内部使用的名字。
static可以设置成其他字符串,结合自己应用的需求和具体细节进行调整。
更多信息
更多资料请访问 Starlette’s docs about Static Files.
