python - python docxtpl - 无法创建动态表单
问题描述
我一直在尝试在 word 中创建一个动态表,但创建的文件包含除选项标签内的列表之外的所有内容。我已经尝试了很多东西,但无法让它工作。
from docxtpl import DocxTemplate
from registration.models import stuff
def create_doc(options, model, file='resources/stuff.docx'):
doc = DocxTemplate(file)
log = stuff(options_object=model)
log.save()
l = []
for i in range(1, len(options) + 1):
x = {}
x['number'] = i
x['course'] = options[i - 1]
l.append(x)
context = {
'name': model.name,
'reg_no': model.regno,
'roll_no': model.rollno,
'rank': model.student_rank,
'course': model.alloted_to,
'cat': model.alloted_cat,
'options': l
}
doc.render(context)
doc.save(f'media/request_{model.rollno}.docx')
解决方案
我通过使用与“选项”不同的名称来解决它。我猜它与以某种方式传递的参数混淆并导致问题。
推荐阅读
- multithreading - clojure reduce 函数使用所有内核,即使它似乎是单线程的
- c++ - QLibrary::load 失败,但 LD_LIBRARY_PATH 在此之前刚刚正确更新,为什么?
- c# - 如何在 C# 中创建一个在一个索引中具有单个元素而在另一个索引中具有另一个数组的数组?
- javascript - 数组对象未更新状态
- pytext - ImportError:无法从“pytext.config.serialize”导入名称“pytext_config_from_json”
- python - Python。将文件和文件夹复制到现有目录
- java - Spring数据JPA中的saveAndFlush
- python - 如何从转置格式将 .txt 文件读入 pandas DataFrame
- c++ - 从每个 for 循环中获取数据
- angular - 究竟是什么触发了 ControlValueAccessor 的 setDisabledState 函数?