python-docx-template
python-docx-template copied to clipboard
render duplicate
The debug code prints different contexts, but the generated words content is same as the generated the first word,i cannot find the bug.
def do_action(self, queryset):
for obj in queryset:
m2 = obj.disk_number
m1 = obj.ring_model
print(obj.connect_condition1)
context = {"ring_model": m1.ring_model, 'ring_number': obj.ring_number, 'stage': m1.stage,
'drawing_number': m1.drawing_number, 'specification': m1.specification,
'ring_batch': obj.ring_batch, 'disk_number': m2.disk_number, 'fiber_batch': m2.fiber_batch,
'factory': obj.factory,'rao_lenth':obj.rao_lenth,'rao_width':obj.rao_width,
'model_specifications': m2.model_specifications, 'invert_lens': m1.invert_lens,
'ring_length': obj.ring_length, 'between_lens': obj.between_lens,
'invert_device': obj.invert_device, 'invert_device1': obj.invert_device1,
'inverter': obj.inverter,
}
print(context)
dir_name = 'D:\Report'
if not os.path.exists(dir_name):
os.mkdir(dir_name)
tep = m1.template_name
if tep.name == '一':
tpl1.render(context)
tpl1.save(dir_name + "\\" + obj.ring_number + '.docx')
elif tep.name == '二':
tpl2.render(context)
tpl2.save(dir_name + "\\" + obj.ring_number + '.docx')
elif tep.name == '三':
tpl3.render(context)
tpl3.save(dir_name + "\\" + obj.ring_number + '.docx')
elif tep.name == '四':
tpl4.render(context)
tpl4.save(dir_name + "\\" + obj.ring_number + '.docx')
Does tests/multi_rendering.py works for you ?
Does tests/multi_rendering.py works for you ?
no,i only generate one word and quote one template one time,the result is still that i generate several words which name is different and content is same in several times when i quote one template