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

Barbara Streisand
發布: 2024-11-12 01:49:01
原創
621 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板