Anda menyasarkan untuk memaparkan fail HTML tersuai, seperti custom.html, sebagai laluan akar apl FastAPI anda. Walau bagaimanapun, persediaan semasa anda membawa kepada index.html lalai dikembalikan.
Seperti yang diterangkan dalam dokumentasi Starlette pada StaticFiles:
html - Run in HTML mode. Automatically loads index.html for directories if such file exists.
Untuk menyelesaikan isu ini, anda mempunyai dua pilihan:
1. Lekapkan StaticFiles ke Laluan Berbeza:
Lekapkan instance StaticFiles anda ke laluan unik, seperti /static. Ini memastikan bahawa mana-mana laluan bermula dengan /static dikendalikan oleh aplikasi StaticFiles.
app.mount('/static', StaticFiles(directory='static'), name='static')
2. Tentukan StaticFiles Selepas Titik Akhir:
Jika anda masih mahu melekapkan StaticFiles ke laluan akar (/), tentukan tika StaticFiles selepas mengisytiharkan semua titik akhir API anda. Ini memastikan bahawa titik akhir mempunyai keutamaan berbanding StaticFiles.
@app.get('/') async def index(): return FileResponse('static/custom.html')
app.mount('/', StaticFiles(directory='static', html=True), name='static')
Argumen html=True membolehkan penyajian kandungan web statik dengan mudah dengan satu baris kod . Walau bagaimanapun, jika anda memerlukan fail HTML dinamik dan titik akhir API tambahan, pertimbangkan untuk menggunakan Templat dan memasang StaticFiles ke laluan lain tanpa menggunakan html=True.
Atas ialah kandungan terperinci Bagaimana untuk Melayan Fail HTML Tersuai sebagai Laluan Root FastAPI?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!