首頁 >後端開發 >Python教學 >如何將自訂 HTML 檔案作為 FastAPI 根路徑?

如何將自訂 HTML 檔案作為 FastAPI 根路徑?

Barbara Streisand
Barbara Streisand原創
2024-11-12 01:49:01681瀏覽

How to Serve a Custom HTML File as the FastAPI Root Path?

將自訂HTML 檔案作為FastAPI 根路徑

您的目標是將自訂HTML 檔案(例如custom.html)渲染為FastAPI 應用程式的根路徑。但是,您目前的設定會導致傳回預設的 index.html。

Index.html 回傳的原因

如StaticFiles 上的Starlette 文件中所述:

html - Run in HTML mode. Automatically loads index.html for directories if such file exists.

解決方案

要解決此問題,您有兩個選項:

1。將 StaticFiles 掛載到不同的路徑:

將您的 StaticFiles 實例掛載到唯一的路徑,例如 /static。這可確保任何以 /static 開頭的路徑都由 StaticFiles 應用程式處理。

app.mount('/static', StaticFiles(directory='static'), name='static')

2.在端點之後定義StaticFiles:

如果您仍想將StaticFiles 掛載到根路徑(/),請在聲明所有API 端點後定義StaticFiles 實例。這可確保端點優先於 StaticFiles。

@app.get('/')
async def index():
    return FileResponse('static/custom.html')
app.mount('/', StaticFiles(directory='static', html=True), name='static')

html=True Option

html=True 參數可以使用一行程式碼輕鬆提供靜態 Web 內容。但是,如果您需要動態 HTML 檔案和其他 API 端點,請考慮使用範本並將 StaticFiles 安裝到不同的路徑,而不使用 html=True。

以上是如何將自訂 HTML 檔案作為 FastAPI 根路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn