Я могу добавить таблицу в конец файла .docx, но у меня есть шаблон .docx, и я не могу добавить таблицу между текстом.
Я использую словарь (контекст) для сохраненияОсновная информация для вставки в .docx, однако мне нужно добавить таблицу с несколькими данными в специальном пространстве (которое отмечено {{variable}}) в файле .docx.Я попытался добавить "table" - переменная в context: context ["tableplace"] = table
Но это было бесполезно
from docxtpl import DocxTemplate
from docx import Document
from docx.styles.style import _TableStyle
from docx.shared import Inches
class Client:
def __init__(self,name,data,pasport,valid):
self.name = name
self.data = data
self.pasport = pasport
self.valid = valid
doc = DocxTemplate("Template2019.docx")
context = {
'persons' : "3", #number of people
'from' : "11.22.33", # date
'till' : "22.22.33", # arrival date
'nights' : "11",
'air1' : "Air",
'air2' : "Air",
'flight' : "My departure", #flight
'flight_back' : "My departure",
'hotel' : "Smth",
'number' : "12345",
'feed' : "AI",
'days' : "12",
}
per = int('3') #number of persons
records=[] #List of clients info
for objs in range(per):
print('Client ', objs+1)
name = input('\tName : ')
data = input('\tData : ')
pasport = input('\tPasport : ')
valid = input('\tValid : ')
records.append(Client(name,data,pasport,valid))
print(objs)
# add table ------------------
table = doc.add_table(1, cols=4)
table.style = 'Table Grid'
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Name'
hdr_cells[1].text = 'Data of Birhtday'
hdr_cells[2].text = 'Pasport'
hdr_cells[3].text = 'valid until'
for i in range(per):
row_cells = table.add_row().cells
row_cells[0].text = records[i].name
row_cells[1].text = records[i].data
row_cells[2].text = records[i].pasport
row_cells[3].text = records[i].valid
doc.render(context)
doc.save("app/try.docx")
Я хочу увидеть таблицу вместо документа, куда я положилзнак