首頁 > 後端開發 > Python教學 > 如何使用 FastAPI 和 StaticFiles 在根路徑上提供特定的 HTML 檔案?

如何使用 FastAPI 和 StaticFiles 在根路徑上提供特定的 HTML 檔案?

Linda Hamilton
發布: 2024-11-12 05:34:01
原創
599 人瀏覽過

How to Serve a Specific HTML File on the Root Path Using FastAPI and StaticFiles?

使用StaticFiles 在FastAPI 的根路徑中提供自訂HTML 檔案

將FastAPI 與StaticFiles 一起使用時,提供自訂可能與預期的行為。預設配置是當靜態檔案中間件掛載到根路徑時自動載入index.html。但是,可以按照以下步驟覆蓋此設定並呈現不同的HTML 檔案:

將靜態檔案安裝到不同的路徑

避免index.html 載入問題,將StaticFiles 實例掛載到唯一路徑而不是根目錄。例如,將其掛載到 /static:

app.mount(
    "/static",
    StaticFiles(directory="static", html=True),
    name="static",
)
登入後複製

定義根路徑端點

接下來,建立一個自訂端點來處理根路徑。此端點將傳回所需的自訂 HTML 檔案:

@app.get("/")
async def index():
    return FileResponse("static/custom.html", media_type="html")
登入後複製

定義順序

定義的順序至關重要。如果您在定義根路徑端點之前掛載 StaticFiles,則 StaticFiles 應用程式將處理對根路徑的所有請求,包括端點中定義的請求。

正確順序的範例

以下是一個具有正確定義順序的範例:

from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from fastapi.responses import FileResponse

app = FastAPI()

@app.get("/")
async def index():
    return FileResponse("static/custom.html", media_type="html")

app.mount(
    "/static",
    StaticFiles(directory="static", html=True),
    name="static",
)
登入後複製

透過執行下列步驟,您可以在FastAPI應用程式的根路徑中提供自訂HTML 文件,同時仍使用StaticFiles 提供靜態文件。

以上是如何使用 FastAPI 和 StaticFiles 在根路徑上提供特定的 HTML 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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