Статические Файлы¶
Вы можете предоставлять статические файлы автоматически из директории, используя 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 о статических файлах.