Я признаю, что вопрос расплывчатый, но это ошибка , которую я получаю.
Я пытаюсь создать шаблон текстового документа, используя производную от python - docx-библиотека под названием python -docx-template , которая использует Jinja2.
Я генерирую данные, которые мне нужны, используя Python, а затем отправляю их в docx, который я создаю, чтобы документ выводил данные в нужном мне формате.
Мой шаблон Jinja2 выглядит примерно так:
{% if EXCHANGE_RATE %}
{%- for stringData in EXCHANGE_RATE %}
{{stringData}}
{%- endfor %}
{%- endif %}
Обратите внимание, что код шаблона внутри ячейки таблицы. Предполагается, что все данные будут сгенерированы внутри самой ячейки (ie. Не разделены строками).
Здесь должно произойти то, что шаблон проверяет наличие EXCHANGE_RATE
переменной списка ( потому что я могу или не могу вернуть эти данные в зависимости от ситуации), а затем зацикливаю данные, в результате чего получается что-то вроде этого:
Exchange Rate:-
1 EUR= 1.0 USD
1 EUR= 1.0 GBP
По какой-то причине код if endif
кажется добавляет некоторый дополнительный межстрочный интервал чего я не хочу (без него вывод именно такой, как я хочу), отсюда и использование -
в различных частях. Проблема, с которой я столкнулся, заключается в последней строке: {%- endif %}
.
Если я добавлю дополнительный -
сзади (например, {%- endif -%}
), это каким-то образом вызовет ошибку когда я пытаюсь открыть файл, но не совсем понимаю, почему. У меня есть аналогичный if endif nest for
l oop в другом месте, и это вызовет аналогичную проблему, также в отдельной последней строке {%- endif %}
.
Есть предложения? Обратите внимание: я все еще относительно новичок в Jinja2.