4.Static_File.md
last update: 2025-06-07
在 FastAPI 中,若要提供前端可存取的靜態資源(如圖片、CSS、JavaScript 等),可透過 StaticFiles
模組實現。靜態檔案通常會放在如 public/
或 static/
的資料夾中,並在應用啟動時掛載。
使用 StaticFiles 掛載靜態目錄
1. 建立資料夾(例如 public)
📁 public/
├── logo.png
└── style.css
2. 在主程式中掛載(通常放在所有路由設定的最下方):
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
app.mount(
"/public",
StaticFiles(directory="public", html=True),
name="public"
)
如此即可透過網址存取靜態資源:
/public/logo.png
/public/style.css
html=True 的意義:
當 html=True
被啟用時,若使用者請求的 URL 是資料夾目錄(例如 /public/
),FastAPI 會自動尋找並回傳該目錄中的 index.html
作為預設頁面。這對於前端單頁式應用(SPA)或純 HTML 網站特別有用。
小結
功能
使用方式
掛載靜態資源路徑
app.mount("/public", StaticFiles(...))
存取靜態檔案
/public/檔名
搭配 HTML 使用
<link>
, <img>
, <script>
引入路徑
html=True 效果
自動回傳 /index.html
作為目錄預設頁面(若存在)
透過 StaticFiles
,FastAPI 可有效支援前端靜態內容需求,適合構建含介面展示的網站或 API 文件頁。
Last updated