Функция render_template
Функция render_template применяется внутри функций-обработчиков
Flask для возврата HTML-страницы. Первым параметром передаётся
имя файла шаблона относительно папки templates. Далее
передаются именованные аргументы, которые становятся переменными
внутри шаблона Jinja.
Синтаксис
render_template(template_name, **context)
Пример
Давайте создадим простое приложение, которое возвращает шаблон:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
Создадим сам шаблон в папке templates:
<p>hello</p>
Результат выполнения кода:
<p>hello</p>
Пример
Давайте передадим переменную text из обработчика в шаблон:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html', text='abcde')
Выведем эту переменную в шаблоне через двойные фигурные скобки:
<p>{{ text }}</p>
Результат выполнения кода:
<p>abcde</p>
Пример
Давайте передадим в шаблон список и выведем его через цикл:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
arr = ['a', 'b', 'c', 'd', 'e']
return render_template('index.html', arr=arr)
Переберём элементы списка в шаблоне:
<ul>
{% for elem in arr %}
<li>{{ elem }}</li>
{% endfor %}
</ul>
Результат выполнения кода:
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
<li>d</li>
<li>e</li>
</ul>
Смотрите также
-
функцию
render_template_string,
которая рендерит шаблон из строки -
тег
for,
который перебирает элементы в шаблоне -
тег
if,
который добавляет условие в шаблон -
тег
extends,
который наследует шаблон от базового