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, können 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 erreicht werden, indem man bestimmte Aspekte des FastAPI-Routings und der StaticFiles-Funktionalität versteht.
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, in der StaticFiles gemountet und definiert werden 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
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3