So stellen Sie eine bestimmte HTML-Datei im FastAPI-Stammpfad bereit, während Sie StaticFiles verwenden
Wenn Sie FastAPI zusammen mit StaticFiles verwenden, um statische Dateien bereitzustellen, müssen Sie Es kann vorkommen, dass Sie eine andere HTML-Datei (z. B. „custom.html“) anstelle der Standarddatei „index.html“ in den Stammpfad laden möchten. Dies kann durch das Verständnis bestimmter Aspekte des FastAPI-Routings und der StaticFiles-Funktionalität erreicht werden.
StaticFiles verstehen
Gemäß Starlettes Dokumentation ist StaticFiles eine Middleware, die die Bereitstellung statischer Dateien von verwaltet ein angegebenes Verzeichnis. Wenn html=True festgelegt ist, sucht es automatisch nach index.html-Dateien in Verzeichnissen und stellt sie entsprechend bereit.
Montagereihenfolge
Die Reihenfolge der Montage von StaticFiles und der Definition Ihrer Endpunkte spielen eine entscheidende Rolle. Wenn StaticFiles im Root-Pfad (d. h. /) gemountet und vor allen Endpunkten definiert wird, hat es Vorrang und verarbeitet alle Anfragen, auch wenn später benutzerdefinierte Endpunkte definiert werden.
Anpassen des Root-Pfads
Um eine bestimmte HTML-Datei im Stammpfad bereitzustellen, müssen Sie die folgenden Schritte ausführen:
Statische Dateien in einem separaten Pfad einhängen (z. B. /static) :
app.mount('/static', StaticFiles(directory='static'))
Erstellen Sie einen benutzerdefinierten Endpunkt, der die gewünschte HTML-Datei zurückgibt:
@app.get('/') async def index(): return FileResponse('custom.html')
Zusätzliche Überlegungen
Das obige ist der detaillierte Inhalt vonWie stelle ich mit StaticFiles eine benutzerdefinierte HTML-Datei im Stammpfad von FastAPI bereit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!