コンテンツへスキップ

静的ファイル

StaticFilesを使用して、ディレクトリから静的ファイルを自動的に提供できます。

StaticFilesを使用する

  • StaticFilesをインポートします。
  • 特定のパスにStaticFiles()インスタンスを「マウント」します。
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles

app = FastAPI()

app.mount("/static", StaticFiles(directory="static"), name="static")

「技術的な詳細」

from starlette.staticfiles import StaticFilesを使用することもできます。

FastAPIは、開発者の便宜のために、fastapi.staticfilesと同じstarlette.staticfilesを提供しています。しかし、実際にはStarletteから直接提供されています。

「マウント」とは何か

「マウント」とは、特定のパスに完全に「独立した」アプリケーションを追加することを意味します。その後、そのアプリケーションはすべてのサブパスを処理します。

これは、APIRouterを使用することとは異なります。マウントされたアプリケーションは完全に独立しているためです。メインアプリケーションのOpenAPIとドキュメントには、マウントされたアプリケーションからのものは含まれません。

上級者向けユーザーガイドで、これについて詳しく読むことができます。

詳細

最初の"/static"は、この「サブアプリケーション」が「マウント」されるサブパスを表します。そのため、"/static"で始まるパスはすべて、このサブアプリケーションによって処理されます。

directory="static"は、静的ファイルを含むディレクトリの名前を表します。

name="static"は、FastAPI内部で使用される名前を指定します。

これらのパラメータはすべて「static」とは異なる場合があります。必要に応じて、独自のアプリケーションの具体的な詳細に合わせて調整してください。

詳細情報

詳細とオプションについては、Starletteの静的ファイルに関するドキュメントを参照してください。