Атрибут check_dir
Атрибут check_dir применяется к классу StaticFiles
и определяет, будет ли выполняться проверка существования
директории со статическими файлами при создании экземпляра класса.
По умолчанию атрибут имеет значение True.
Если директория не существует и check_dir равно True,
будет выброшено исключение RuntimeError.
При значении False проверка пропускается.
Синтаксис
StaticFiles(directory, check_dir=True)
Пример
Давайте подключим статику с проверкой директории по умолчанию:
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
app.mount('/static', StaticFiles(directory='static'), name='static')
Если директория 'static' не существует,
при запуске приложения возникнет ошибка RuntimeError.
Пример
Давайте отключим проверку директории с помощью атрибута check_dir:
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
app.mount('/static', StaticFiles(directory='static', check_dir=False), name='static')
Теперь приложение запустится даже если директория 'static' отсутствует.
Это бывает полезно в средах, где статика создаётся позже
или подключается динамически.
Пример
Давайте проверим поведение при отсутствующей директории и check_dir=True:
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
app.mount('/static', StaticFiles(directory='missing', check_dir=True), name='static')
Результат выполнения кода при запуске:
RuntimeError: Directory 'missing' does not exist
Смотрите также
-
класс
StaticFiles,
который подключает статические файлы к приложению -
метод
call,
который обрабатывает запросы к статическим файлам -
атрибут
directory,
который хранит путь к директории со статикой -
атрибут
packages,
который задаёт список пакетов для поиска статики