概要
- FastApiで静的ファイルを表示するときの備忘録
- index.htmlを自動で読み込みたければ設定が必要
構成
.
├── main.py
└── static
├── favicon.ico
├── index.html
└── static
├── css
└── js
静的ファイルのマウント
StaticFiles
をimportしてdirectory指定することでマウントできます。
ただし、このままだと/static
にアクセスしてもindex.html
は表示されません。
main.py
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
app.mount("/static", StaticFiles(directory="static"), name="static")
対応方法
HTMLモードを有効にします。
FastApiのサイトには書いてないですが、starletteのサイトに書いてあります。
main.py
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
app.mount("/static", StaticFiles(directory="static", html=True), name="static")