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

Параметр name

Параметр name применяется к методам TemplateResponse и get_template объекта Jinja2Templates. Он принимает строку с именем файла шаблона, который нужно отрендерить. Путь указывается относительно директории, заданной при создании объекта Jinja2Templates.

Имя шаблона может содержать поддиректории, например 'user/profile.html'. FastAPI передаёт этот параметр напрямую в движок Jinja2 для загрузки файла.

Синтаксис

templates.TemplateResponse( name='index.html', context={'request': request} )

Пример

Давайте создадим шаблон 'index.html' и отрендерим его через параметр name:

from fastapi import FastAPI, Request from fastapi.templating import Jinja2Templates app = FastAPI() templates = Jinja2Templates(directory='templates') @app.get('/') def index(request: Request): return templates.TemplateResponse( name='index.html', context={'request': request} )

Файл шаблона 'templates/index.html':

<!DOCTYPE html> <html> <body> <h1>hello</h1> </body> </html>

Пример

Давайте передадим имя шаблона через переменную и используем поддиректорию:

from fastapi import FastAPI, Request from fastapi.templating import Jinja2Templates app = FastAPI() templates = Jinja2Templates(directory='templates') @app.get('/user') def user(request: Request): tmpl_name = 'user/profile.html' return templates.TemplateResponse( name=tmpl_name, context={'request': request, 'name': 'abcde'} )

Файл шаблона 'templates/user/profile.html':

<!DOCTYPE html> <html> <body> <p>{{ name }}</p> </body> </html>

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

<!DOCTYPE html> <html> <body> <p>abcde</p> </body> </html>

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

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