Проблема в том, что после первого вызова render() с частичным контекстом docxtpl удаляет все переменные и блоки Jinja2, которые не были предоставлен, что делает невозможным позднее заполнить оставшиеся заполнители.
Вот упрощенный пример:
Код: Выделить всё
import re
from docxtpl import DocxTemplate
# First render
doc = DocxTemplate("template.docx")
doc.render({
"TABLE": [
{"a": 1, "b": 4},
{"c": 3, "d": 7}
],
})
# Second render
doc.render({
"ANOTHER_TABLE": [
{"a": 5, "b": 7},
{"c": 5, "d": 5}
],
})
doc.save("_generated.docx")
Вопрос:
Есть ли способ выполнить несколько вызовов частичного рендеринга() с помощью docxtpl без удаление неразрешенных переменных или блоков?
Альтернативно, существует ли какой-либо известный обходной путь (например, замораживание отображаемых частей, использование косвенного указания заполнителя или другой метод), который позволяет обрабатывать шаблон в несколько этапов?
Подробнее здесь: https://stackoverflow.com/questions/798 ... unresolved
Мобильная версия