You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.6 KiB

靜態檔案

你可以使用 StaticFiles 從某個目錄自動提供靜態檔案。

使用 StaticFiles

  • 匯入 StaticFiles
  • 在特定路徑上「掛載」一個 StaticFiles() 實例。

{* ../../docs_src/static_files/tutorial001_py310.py hl[2,6] *}

/// note | 技術細節

你也可以使用 from starlette.staticfiles import StaticFiles

FastAPI 為了方便開發者,提供與 starlette.staticfiles 相同的介面作為 fastapi.staticfiles。但它其實是直接來自 Starlette。

///

什麼是「掛載」

「掛載(mounting)」是指在特定路徑下加入一個完整且「獨立」的應用,之後所有該路徑下的子路徑都由它處理。

這與使用 APIRouter 不同,因為被掛載的應用是完全獨立的。主應用的 OpenAPI 與文件不會包含掛載應用的任何內容,等等。

你可以在進階使用者指南中閱讀更多相關內容。

細節

第一個 "/static" 指的是這個「子應用」要被「掛載」的子路徑。因此,任何以 "/static" 開頭的路徑都會由它處理。

directory="static" 指向包含你靜態檔案的目錄名稱。

name="static" 為它指定一個可供 FastAPI 內部使用的名稱。

以上參數都不一定要是 "static",請依你的應用需求與細節調整。

更多資訊

如需更多細節與選項,請參考 Starlette 關於靜態檔案的文件