Атрибут packages
Атрибут packages принадлежит классу StaticFiles
и представляет собой список, в который попадают пакеты,
переданные при создании экземпляра через параметр packages.
Каждый элемент списка - это объект пакета,
из которого монтируется директория со статикой.
Атрибут доступен только для чтения и заполняется автоматически
в момент инициализации класса.
Синтаксис
StaticFiles(directory=..., packages=[...]).packages
Пример
Давайте создадим приложение, смонтируем статику из пакета
и выведем содержимое атрибута packages:
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
app.mount(
'/static',
StaticFiles(packages=['mypackage']),
name='static'
)
static = app.routes[-1].app
res = static.packages
Результат выполнения кода:
[<module 'mypackage' ...>]
Пример
Давайте проверим длину списка packages
после монтирования двух пакетов:
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
app.mount(
'/assets',
StaticFiles(packages=['mypackage', 'otherpackage']),
name='assets'
)
static = app.routes[-1].app
res = len(static.packages)
Результат выполнения кода:
2
Смотрите также
-
класс
StaticFiles,
который раздаёт статические файлы -
атрибут
directory,
который хранит путь к директории со статикой -
атрибут
check_dir,
который отвечает за проверку существования директории -
атрибут
html,
который включает режим отдачи HTML