Перейти к содержанию

Статические Файлы

Вы можете предоставлять статические файлы автоматически из директории, используя 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 предоставляет starlette.staticfiles под псевдонимом fastapi.staticfiles, просто для вашего удобства, как разработчика. Но на самом деле это берётся напрямую из библиотеки Starlette.

Что такое "Монтирование"

"Монтирование" означает добавление полноценного "независимого" приложения в определенную директорию, которое затем обрабатывает все подпути.

Это отличается от использования APIRouter, так как примонтированное приложение является полностью независимым. OpenAPI и документация из вашего главного приложения не будет содержать ничего из примонтированного приложения, и т.д.

Вы можете прочитать больше об этом в Расширенном руководстве пользователя.

Детали

Первый параметр "/static" относится к подпути, по которому это "подприложение" будет "примонтировано". Таким образом, любой путь начинающийся со "/static" будет обработан этим приложением.

Параметр directory="static" относится к имени директории, которая содержит ваши статические файлы.

name="static" даёт имя маршруту, которое может быть использовано внутри FastAPI.

Все эти параметры могут отличаться от "static", настройте их в соответствии с вашими нуждами и конкретными деталями вашего собственного приложения.

Больше информации

Для получения дополнительной информации о деталях и настройках ознакомьтесь с Документацией Starlette о статических файлах.