Jinja2: Word обнаружил ошибку при попытке открыть файл - PullRequest
0 голосов
/ 07 августа 2020

Я признаю, что вопрос расплывчатый, но это ошибка , которую я получаю.

Я пытаюсь создать шаблон текстового документа, используя производную от 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.

...