Comment servir un fichier HTML spécifique dans le chemin racine de FastAPI tout en utilisant StaticFiles
Lorsque vous utilisez FastAPI avec StaticFiles pour servir des fichiers statiques, vous peut rencontrer des scénarios dans lesquels vous souhaitez charger un fichier HTML différent (par exemple, custom.html) dans le chemin racine au lieu du fichier index.html par défaut. Ceci peut être réalisé en comprenant certains aspects du routage de FastAPI et de la fonctionnalité StaticFiles.
Comprendre StaticFiles
Selon la documentation de Starlette, StaticFiles est un middleware qui gère la diffusion de fichiers statiques à partir de un répertoire spécifié. Lorsque html=True est défini, il recherche automatiquement les fichiers index.html dans les répertoires et les sert en conséquence.
Ordre de montage
L'ordre de montage des StaticFiles et la définition de votre les points de terminaison jouent un rôle crucial. Si StaticFiles est monté sur le chemin racine (c'est-à-dire /) et défini avant tout point de terminaison, il sera prioritaire et traitera toutes les demandes, même si les points de terminaison personnalisés sont définis ultérieurement.
Personnalisation du chemin racine
Pour servir un fichier HTML spécifique dans le chemin racine, vous devez suivre ces étapes :
Monter StaticFiles vers un chemin séparé (par exemple, /static) :
app.mount('/static', StaticFiles(directory='static'))
Créer un point de terminaison personnalisé qui renvoie le fichier HTML souhaité :
@app.get('/') async def index(): return FileResponse('custom.html')
Considérations supplémentaires
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3