在 FastAPI 中,你可以使用 fastapi.staticfiles.StaticFiles 中间件来提供静态文件服务。这使得你可以轻松地为你的应用程序添加样式表、JavaScript 文件、图像等静态资源。

以下是一个简单的示例,演示如何在 FastAPI 中提供静态文件服务:

1. 创建一个 static 文件夹,并在其中存放你的静态文件。

   例如,创建一个 static 文件夹,并在其中添加一个名为 style.css 的样式表文件。

2. 使用 StaticFiles 中间件来提供静态文件服务。
   from fastapi import FastAPI
   from fastapi.staticfiles import StaticFiles

   app = FastAPI()

   # 将静态文件服务添加到 FastAPI 应用程序
   app.mount("/static", StaticFiles(directory="static"), name="static")

   @app.get("/")
   async def read_root():
       return {"message": "Hello, World!"}

   在这个例子中,app.mount 方法用于将静态文件服务添加到 FastAPI 应用程序。/static 是在 URL 中访问静态文件的路径,directory="static" 指定了静态文件所在的文件夹。

3. 访问静态文件。

   启动 FastAPI 应用程序后,你可以通过访问 http://localhost:8000/static/style.css 来访问静态文件。这里,/static 是由 app.mount 方法指定的路径,后面跟着相对于 static 文件夹的文件路径。

请注意,这里使用的是 app.mount 方法,而不是路由装饰器。这是因为静态文件服务是通过中间件提供的,而不是通过路由。这样可以更高效地处理静态文件,而不占用 FastAPI 应用程序的路由解析和处理。

确保将 directory 参数指定为包含你的静态文件的文件夹,并在 URL 中使用合适的路径来访问这些文件。


转载请注明出处:http://www.pingtaimeng.com/article/detail/7400/FastAPI