Maison > Article > développement back-end > Comment servir un fichier HTML personnalisé comme chemin racine FastAPI ?
Vous souhaitez afficher un fichier HTML personnalisé, tel que custom.html, comme chemin racine de votre application FastAPI. Cependant, votre configuration actuelle entraîne le renvoi du fichier index.html par défaut.
Comme décrit dans la documentation Starlette sur StaticFiles :
html - Run in HTML mode. Automatically loads index.html for directories if such file exists.
Pour résoudre ce problème, vous avez deux options :
1. Montez StaticFiles sur un chemin différent :
Montez votre instance StaticFiles sur un chemin unique, tel que /static. Cela garantit que tout chemin commençant par /static est géré par l'application StaticFiles.
app.mount('/static', StaticFiles(directory='static'), name='static')
2. Définir StaticFiles après les points de terminaison :
Si vous souhaitez toujours monter StaticFiles sur le chemin racine (/), définissez l'instance StaticFiles après avoir déclaré tous vos points de terminaison d'API. Cela garantit que les points de terminaison ont la priorité sur StaticFiles.
@app.get('/') async def index(): return FileResponse('static/custom.html')
app.mount('/', StaticFiles(directory='static', html=True), name='static')
L'argument html=True permet de diffuser facilement du contenu Web statique avec une seule ligne de code. . Toutefois, si vous avez besoin de fichiers HTML dynamiques et de points de terminaison d'API supplémentaires, envisagez d'utiliser des modèles et de monter StaticFiles sur un chemin différent sans utiliser html=True.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!