Ответ 1
Здесь основное использование:
Сначала создайте шаблон
>>> from jinja2 import Template
>>> template = Template('Hello {{ name }}!')
Затем визуализируйте его, передав переменные
>>> template.render(name='John Doe')
u'Hello John Doe!'
Обычно вы захотите загрузить шаблоны из файлов вместо кода. Это более эффективно и оптимизировано и позволяет наследование шаблонов:
from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('yourapplication', 'templates'))
Это будет искать шаблоны внутри папки templates
пакета yourapplication
Python, как установлено в пути Python. Вы можете использовать другие загрузчики для загрузки из определенной файловой системы или других мест.
Затем вы можете загрузить шаблон:
template = env.get_template('mytemplate.html')
print template.render(the='variables', go='here')
При использовании Flask все настроено для вас, поэтому вы можете просто использовать функцию Flask render_template
, и она уже будет искать подпапку templates
вашего приложения:
from flask import render_template
@app.route('/hello/')
def hello(name=None):
return render_template('hello.html', name=name)
Обратите внимание на переменную шаблона (также называемую контекстом), передаваемую на render_template
Jinja имеет довольно хорошую документацию. Пожалуйста, прочитайте его. Не стесняйтесь задавать дополнительные вопросы.