Skip to content

Latest commit

 

History

History
54 lines (36 loc) · 1.72 KB

File metadata and controls

54 lines (36 loc) · 1.72 KB

Static Files

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 文件頁。