Метод mount
Метод mount применяется к приложению
FastAPI и подключает к нему отдельное
ASGI-приложение или набор статических файлов
по заданному URL-префиксу.
Первым параметром передаётся путь монтирования,
вторым - приложение или объект
StaticFiles.
Все запросы, начинающиеся с этого пути,
будут обрабатываться вложенным приложением,
а не маршрутами основного приложения.
Синтаксис
@app.mount(path, app, name=None)
Пример
Давайте смонтируем отдельное приложение FastAPI
по адресу '/sub':
from fastapi import FastAPI
app = FastAPI()
sub_app = FastAPI()
@sub_app.get('/')
def sub_index():
return {'text': 'sub app'}
app.mount('/sub', sub_app)
Результат выполнения кода для адреса /sub/:
{"text": "sub app"}
Пример
Давайте смонтируем статические файлы
из папки 'static' по адресу '/static':
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
app.mount('/static', StaticFiles(directory='static'), name='static')
Результат выполнения кода для адреса /static/logo.png:
"file content"
Смотрите также
-
класс
FastAPI,
который создаёт основное приложение -
метод
include_router,
который подключает роутер к приложению -
метод
add_api_route,
который программно добавляет маршрут -
метод
middleware,
который добавляет промежуточный обработчик