【发布时间】:2020-03-24 23:00:59
【问题描述】:
我正在使用 jinja2 模板创建一个表。当我开始在一行中编写所有 html 代码时,它会破坏通过电子邮件发送的表格。
所以我在写
table_row = '<tr>\
<td>{{dev}}</td>\
<td>{{pr_count}}</td>\
</tr>'
table_row_template = jinja2.Template(table_row)
在一个大循环中,我开始使用行模板将数据附加到表中。
for developer in developer_json:
dev_count_list = dev_count_list\
+ table_row_template.render(dev = dev_count[0], pr_count = dev_count[1]) + '\n'
最后,当我在基本模板中使用 dev_count_list 进行渲染时,一切正常。
我的问题 - \n 是如何被 jinja2 模板解释的。它会添加一个新行还是只是再次写入\n
【问题讨论】:
-
看不到最终的输出代码吗?你能在这里放一个相关的部分吗?
-
要查看最终输出代码,我需要使用 print 或 app.logger 在写入输出流时肯定会将 '\n' 解析为新行。我想知道 jinja 如何渲染到输出流,即 html。我的假设也正确吗?单行html对html代码长度有限制吗?
标签: python html jinja2 html-email