Вызов функции Python из jinja2 - PullRequest
121 голосов
/ 17 мая 2011

Я использую jinja2 и хочу вызвать функцию python в качестве помощника, используя такой же синтаксис, как если бы я вызывал макрос.jinja2, похоже, намерен помешать мне сделать вызов функции, и настаивает на том, чтобы я повторил себя, скопировав функцию в шаблон в виде макроса.

Есть ли простой способ сделать это?И есть ли способ импортировать целый набор функций Python и сделать их доступными из jinja2, не проходя через множество ригамаролей (таких как написание расширения)?

Ответы [ 11 ]

2 голосов
/ 25 июня 2017

Если вы делаете это с Django, вы можете просто передать функцию с контекстом:

context = {
    'title':'My title',
    'str': str,
}
...
return render(request, 'index.html', context)

Теперь вы сможете использовать функцию str в шаблоне jinja2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...