Dans FastAPI, vous pouvez servir des fichiers statiques, y compris HTML, à l'aide du middleware StaticFiles. Cependant, l'utilisation de StaticFiles pour le chemin racine (/) peut entraîner un comportement inattendu, car il sert automatiquement index.html pour le répertoire racine.
Selon la [documentation Starlette](https://www.starlette.io/static-files/), StaticFiles a une option html qui, lorsqu'elle est définie sur True, charge automatiquement index.html pour les répertoires si tel est le cas. un fichier existe.
Pour afficher correctement votre fichier HTML personnalisé sur le chemin racine, montez StaticFiles sur un chemin différent, tel que /static :
from fastapi import FastAPI from fastapi.staticfiles import StaticFiles app = FastAPI() app.mount("/static", StaticFiles(directory="static"), name="static")
L'ordre dans lequel vous montez StaticFiles et définissez vos points de terminaison est crucial. Si vous montez StaticFiles après avoir défini votre point de terminaison racine, le point de terminaison racine aura la priorité et le fichier HTML personnalisé sera servi.
Si vous souhaitez diffuser différents fichiers HTML dynamiquement et avoir des points de terminaison supplémentaires, il est recommandé de supprimer l'option html=True de StaticFiles et d'utiliser FastAPI [Modèles](https://fastapi.tiangolo.com/templates/) à la place.
En abordant l'ordre et la configuration de StaticFiles, vous pouvez servir votre fichier HTML personnalisé au lieu de index.html sur le chemin racine tout en activant également des points de terminaison d'API supplémentaires. Considérez attentivement l'option html=True en fonction de votre cas d'utilisation spécifique.
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!