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

Функция render_template_string

Функция render_template_string применяется для рендеринга шаблона, который хранится не в отдельном файле, а прямо в виде строки Python. Первым параметром передаётся сама строка шаблона, а далее - именованные переменные, доступные внутри шаблона. Это удобно для небольших шаблонов, которые не хочется выносить в отдельный файл.

Синтаксис

render_template_string(source, **context)

Пример

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

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

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

<p>hello</p>

Пример

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

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

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

<ul> <li>a</li> <li>b</li> <li>c</li> <li>d</li> <li>e</li> </ul>

Пример

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

from flask import Flask, render_template_string app = Flask(__name__) @app.route('/user/<name>') def user(name): tmpl = '{% if name %}hello, {{ name }}{% else %}user{% endif %}' return render_template_string(tmpl, name=name)

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

hello, abcde

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

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