Я пытаюсь отобразить файл Jinja в скрипте Python.В файле есть три типа инструкций -
- типичные для циклов
- инструкции по импорту
- запуск макросов из импорта
1) ВсеЯ хочу, чтобы петли были сплющены.2) Чтобы обойти неудачные операции импорта, я создал подкласс forgivingLoader.3) Однако у меня возникают проблемы с импортом, когда он вызывается.Я пробовал 2 разных способа - подкласс unDefined, но {{ abc.callf("arg1", "arg2") }}
заменяется на arg1,arg2
, так как unDefined не имеет доступа к вызывающей функции, только аргументы.В качестве альтернативы, когда я использую DebugUndefined (который также является подклассом unDefined), поскольку импорт молча завершился неудачей, он не может найти abc.callf
Ниже приведен пример ввода и предполагаемый вывод, на который я нацеливаюсь.Может ли кто-нибудь помочь мне здесь?Спасибо!
Ввод:
Starting
{% import "abc.yml" as abc %}
{{ abc.callf("arg1", "arg2") }}
{% set forloopvar = ["var1", "var2"] %}
{% for var in forloopvar %}
{{ var }}here
{% endfor %}
the end
Ожидаемый результат:
Starting
{% import "abc.yml" as abc %}
{{ abc.callf("arg1", "arg2") }}
var1here
var2here
the end