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

Атрибут html класса StaticFiles

Атрибут html применяется к экземпляру класса StaticFiles и включает режим отдачи HTML-файлов. По умолчанию этот режим выключен, и запрос к корню статической директории возвращает ошибку 404. Если установить html=True, то при обращении к директории FastAPI будет искать файл index.html и отдавать его.

Атрибут не является параметром метода или функции - это именованный аргумент конструктора класса StaticFiles. Его значение по умолчанию - False.

Синтаксис

StaticFiles(directory, html=True)

Пример

Давайте подключим статическую директорию 'static' с включённым режимом HTML и положим туда файл 'index.html':

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

Файл 'static/index.html':

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Главная</title> </head> <body> <h1>hello</h1> </body> </html>

Теперь при обращении к адресу '/static/' сервер вернёт содержимое файла 'index.html':

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Главная</title> </head> <body> <h1>hello</h1> </body> </html>

Пример

Давайте сравним поведение с выключенным и включённым атрибутом html. Сначала создадим приложение без этого атрибута:

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

При запросе к адресу '/static/' сервер вернёт ошибку 404, даже если файл 'index.html' существует.

Теперь включим атрибут html:

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

При запросе к адресу '/static/' сервер вернёт содержимое файла 'index.html'. При этом прямые запросы к другим файлам, например '/static/style.css', работают как обычно.

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

  • класс StaticFiles,
    который отдаёт статические файлы из директории
  • атрибут directory,
    который задаёт путь к статической директории
  • атрибут packages,
    который позволяет отдавать файлы из Python-пакетов
  • атрибут check_dir,
    который проверяет существование директории при старте
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить