Maison > développement back-end > Tutoriel Python > Comment servir un fichier HTML personnalisé comme chemin racine FastAPI ?

Comment servir un fichier HTML personnalisé comme chemin racine FastAPI ?

Barbara Streisand
Libérer: 2024-11-12 01:49:01
original
683 Les gens l'ont consulté

How to Serve a Custom HTML File as the FastAPI Root Path?

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.

Cause du retour d'Index.html

Comme décrit dans la documentation Starlette sur StaticFiles :

html - Run in HTML mode. Automatically loads index.html for directories if such file exists.
Copier après la connexion

Solution

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')
Copier après la connexion

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')
Copier après la connexion
app.mount('/', StaticFiles(directory='static', html=True), name='static')
Copier après la connexion

Option html=True

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal