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

Функция stream_template_string

Функция stream_template_string применяется для потокового рендеринга шаблона, который хранится не в файле, а прямо в строке. Первым параметром передаётся исходный код шаблона в виде строки, далее можно передать контекст шаблона, то есть переменные, доступные внутри шаблона. Функция возвращает итератор, который отдаёт части отрендеренного шаблона по мере их появления, а не всю страницу целиком сразу.

В отличие от render_template_string, которая возвращает готовую строку, stream_template_string возвращает потоковый ответ, что удобно для больших страниц и медленно генерируемых данных.

Синтаксис

stream_template_string(source, **context)

Пример

Давайте отрендерим простой шаблон из строки и вернём его через потоковый ответ:

from flask import Flask, stream_template_string app = Flask(__name__) @app.route('/') def index(): return stream_template_string('<p>{{ text }}</p>', text='hello')

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

<p>hello</p>

Пример

Давайте передадим в шаблон список и выведем его элементы в цикле:

from flask import Flask, stream_template_string app = Flask(__name__) @app.route('/') def index(): return stream_template_string( '{% for elem in arr %}<p>{{ elem }}</p>{% endfor %}', arr=['a', 'b', 'c', 'd', 'e'] )

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

<p>a</p> <p>b</p> <p>c</p> <p>d</p> <p>e</p>

Пример

Давайте посмотрим, что функция возвращает итератор, и обойдём его вручную:

from flask import Flask, stream_template_string app = Flask(__name__) with app.app_context(): stream = stream_template_string('{{ text }}', text='abcde') res = list(stream) print(res)

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

['abcde']

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

  • функцию render_template_string,
    которая рендерит строковый шаблон в готовую строку
  • функцию stream_template,
    которая потоково рендерит шаблон из файла
  • функцию render_template,
    которая рендерит шаблон из файла в готовую строку
  • тег for,
    который перебирает элементы внутри шаблона
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить