如何在使用StaticFiles 時在FastAPI 根路徑中提供特定HTML 檔案
使用FastAPI 與StaticFiles 一起提供靜態檔案時,您可能會遇到您想要在根路徑中載入不同的HTML 檔案(例如,custom.html)而不是預設的index.html 的情況。這可以透過了解 FastAPI 路由和 StaticFiles 功能的某些方面來實現。
了解 StaticFiles
根據 Starlette 的文檔,StaticFiles 是一個中間件,用於處理來自以下位置的靜態文件服務:指定的目錄。當設定 html=True 時,它會自動在目錄中尋找 index.html 檔案並相應地提供它們。
安裝順序
安裝 StaticFiles 並定義您的靜態檔案的順序端點起著至關重要的作用。如果 StaticFiles 掛載到根路徑(即 /)並在任何端點之前定義,則它將優先處理所有請求,即使稍後定義自訂端點也是如此。
自訂根路徑
要在根路徑中提供特定的HTML 文件,您需要遵循以下操作步驟:
將StaticFiles 掛載到單獨的路徑(例如/static):
app.mount('/static', StaticFiles(directory='static'))
建立傳回所需HTML 的自訂端點檔案:
@app.get('/') async def index(): return FileResponse('custom.html')
其他注意事項
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3