docs/zh-hant/docs/tutorial/static-files.md
你可以使用 StaticFiles 從某個目錄自動提供靜態檔案。
/// tip
如果你需要託管前端,請改用 app.frontend(),請在 前端 閱讀相關內容。
app.frontend() 底層使用 StaticFiles,並為前端提供幾項額外優勢,例如處理客戶端路由。
///
StaticFiles { #use-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 關於靜態檔案的文件。