Подтвердить что ты не робот

Вызывать исключение в jinja, если мы передали переменную, которой нет в шаблоне

Есть ли метод jinja2 для создания исключения, когда мы передаем переменную, которая отсутствует в шаблоне?

PS: Это отличается (или наоборот) от создания исключения, когда переменная присутствует в шаблоне, но не передается. Для этого я использую "undefined= StrictUndefined"

4b9b3361

Ответ 1

Когда вы загружаете jinja2.Environment, установите параметр "undefined" в "jinja2.StrictUndefined", например:

env = jinja2.Environment(loader=<someloader>, undefined=jinja2.StrictUndefined)

Вы можете поймать и изучить исключение визуализации, чтобы увидеть, что не хватает

EDIT Это поможет, если я прочитаю ваш полный вопрос.:)

Ответ 2

Возможно, это может помочь вам http://jinja.pocoo.org/docs/api/#the-meta-api

>>> from jinja2 import Environment, meta
>>> env = Environment()
>>> ast = env.parse('{% set foo = 42 %}{{ bar + foo }}')
>>> meta.find_undeclared_variables(ast)
set(['bar'])