问题描述
我正在使用 jinja2
模板引擎和 docxtpl
进行单词自动化。我希望每次在文档中创建新列表时都开始枚举。我不知道如何实现。
代码:
from docxtpl import DocxTemplate
import jinja2
_list = [{"name":"John Doe",'books':["first book","second book","third book"]},{"name":"Jane Smith",'books':["Jane first book","Jane's second book","Janes third book"]}]
doc = DocxTemplate("JinjaTemplates/listBooks.docx")
doc.render({"data":_list})
doc.save(f'test.docx')
在 Template1.docx 中:
{% for item in data %}
Books owned by {{ item.name }}
{% for book in item[‘books’] %}
1. {{ book }} {% endfor %}
{% endfor %}
现在,我的理解如下:
John Doe 拥有的书籍
- 第一本书
- 第二本书
- 第三本书
简·史密斯拥有的书籍
- 简的第一本书
- 简的第二本书
- 简的第三本书
但预期的是:
John Doe 拥有的书籍
- 第一本书
- 第二本书
- 第三本书
简·史密斯拥有的书籍
- 简的第一本书
- 简的第二本书
- 简第三本书
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)