В jinja2 в качестве фильтрации используется оператор |
, такой как {{ user_input | safe }}
. Однако |
также действует оператор питона, скажем, побитовое или, установить соединение, и т.д. Предположим, у меня есть следующий код в шаблонеJinja2 убрать оператора фильтра («|»)
{% for elem in (set1 | set2) %} elem.render_some_string() {% endfor %}
Дзиндзя бросает исключение
File "some_template_file.txt", line xxx, in template
{% for elem in (set1 | set2) %} elem.render_some_string() {% endfor %}
jinja2.exceptions.TemplateAssertionError: no filter named 'set2'
что понятно , Но есть ли способ обойти это, скажите, что jinja не интерпретирует оператор |
как фильтр? Я надеюсь, что решение будет лучше, чем «заменить (set1 | set2)
на set1.union(set2)
» --- если это не единственное возможное решение (или только рекомендованное решение).
Насколько мне известно, предлагаемое решение является путь , Но с удовольствием узнаем, есть ли способ переопределить ситуацию. –