首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docxtpl特殊tr标记{%tr %}不工作

docxtpl特殊tr标记{%tr %}不工作
EN

Stack Overflow用户
提问于 2022-03-30 14:26:09
回答 1查看 522关注 0票数 1

嗨,我正在使用docxtpl来使用JINJA模板引擎从python生成MS Word文档,我检查了文档,它说我们可以对表行、列和段落使用特殊的标记,但是我不能动态地生成表行。

,首先,我尝试了以下方法,

代码语言:javascript
复制
{% for name in rows %}
{{ name }}
{% endfor %}

但是它会添加同一行中的所有项,而不是新生成的项。

,然后我尝试了如下方法,如上面提到的文档中所提到的。

代码语言:javascript
复制
{%tr for name in rows %}
{{ name }}
{%tr endfor %}

但是它会产生以下错误

遇到未知标签'endfor‘。

--然后我尝试了以下方法,它可以工作,但是它会改变生成的文档边距、格式和样式。所有的文档都在视觉上搞砸了.

代码语言:javascript
复制
row = self.document.tables[3].add_row().cells # add row
row[0].text = '' #add empty text to create paragraph
row[0].paragraphs[0].add_run('Some value') #use run to add value
row[0].paragraphs[0].style = self.document.tables[3].row_cells(3)[1].paragraphs[0].style
#this line copy the style of previous row cell to the current row cell else styles are not preserved
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-07 22:41:57

使用%tr标记的第二次尝试是正确的,但是它可能不是模板文档中正确的格式。

尝试在模板中使用这种格式的for循环:

使用该模板,我生成了以下输出:

我能够在本期的基础上搞清楚这一点,它指向了这个测试和这个测试模板

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71679088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档