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

Параметр headers

Параметр headers применяется к классу TemplateResponse и позволяет передать словарь HTTP-заголовков, которые будут отправлены клиенту вместе с отрендеренным HTML. Первым параметром передаётся запрос request, вторым - имя шаблона, третьим - контекст, а headers задаётся именованным аргументом. Это удобно для установки cookies, кэширования, типа содержимого и других служебных заголовков.

Синтаксис

TemplateResponse(request, name, context, headers=headers)

Пример

Давайте отрендерим шаблон и передадим заголовок X-Custom-Header:

from fastapi import FastAPI, Request from fastapi.templating import Jinja2Templates app = FastAPI() templates = Jinja2Templates(directory='templates') @app.get('/') def index(request: Request): headers = {'X-Custom-Header': 'abcde'} return templates.TemplateResponse( request, 'index.html', {'user': 'abcde'}, headers=headers )

Результат выполнения кода содержит заголовок X-Custom-Header: abcde вместе с HTML-страницей.

Пример

Давайте установим сразу несколько заголовков, включая заголовок кэширования:

<+python+> from fastapi import FastAPI, Request from fastapi.templating import Jinja2Templates app = FastAPI() templates = Jinja2Templates(directory='templates') @app.get('/article') def article(request: Request): headers = { 'Cache-Control': 'no-cache', 'X-Article-Id': '1' } return templates.TemplateResponse( request, 'article.html', {'title': 'article'}, headers=headers ) <-python+>

Результат выполнения кода отдаёт страницу с заголовками Cache-Control: no-cache и X-Article-Id: 1.

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

  • метод TemplateResponse,
    который рендерит шаблон и возвращает HTML-ответ
  • параметр status_code,
    который задаёт HTTP-код ответа шаблона
  • параметр media_type,
    который задаёт тип содержимого ответа
  • метод get_template,
    который возвращает объект шаблона по имени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить