РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
259 of 307 menu

Атрибут directory

Атрибут directory хранит путь к директории, из которой класс StaticFiles читает файлы для отдачи клиенту. Значение передаётся при создании экземпляра StaticFiles в одноимённом параметре и сохраняется в объекте. Атрибут используется внутри метода get_response для поиска запрошенного файла на диске.

Синтаксис

StaticFiles(directory=path)

После создания экземпляра значение доступно через атрибут directory:

static_files.directory

Пример

Давайте создадим экземпляр StaticFiles с директорией 'static' и выведем значение атрибута:

from fastapi import FastAPI from fastapi.staticfiles import StaticFiles app = FastAPI() static_files = StaticFiles(directory='static') print(static_files.directory)

Результат выполнения кода:

"static"

Пример

Давайте подключим статику через app.mount и проверим, что атрибут directory действительно указывает на нужную папку:

from fastapi import FastAPI from fastapi.staticfiles import StaticFiles app = FastAPI() static_files = StaticFiles(directory='static') app.mount('/static', static_files, name='static') print(static_files.directory)

Результат выполнения кода:

"static"

Пример

Давайте запросим файл 'style.css' из директории 'static' по адресу /static/style.css:

from fastapi import FastAPI from fastapi.staticfiles import StaticFiles app = FastAPI() static_files = StaticFiles(directory='static') app.mount('/static', static_files, name='static')

Структура проекта:

project/ ├── main.py └── static/ └── style.css

Результат выполнения запроса к /static/style.css:

body { color: black; }

Смотрите также

  • класс StaticFiles,
    который отдаёт статические файлы через HTTP
  • метод call,
    который обрабатывает ASGI-запрос к статике
  • атрибут check_dir,
    который проверяет существование директории
  • атрибут html,
    который включает режим HTML-ответа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить