我使用 yattag 创建 HTML,在我的代码中,我想循环访问数据库记录,并动态地创建 HTML 表。
例如,如果 div 的数量是 5 :
with tag('table', klass='all-pr'):
with tag('tr'):
with tag('td'):
for zone in all_zones:
clear += 1
with tag('div', klass='pr' + ' ' + risk_alert):
text(zone['name'])
with tag('div', klass='link-pr'):
text('-')
if (clear % 5 == 0):
# create a new <tr>
更新:好的,我期望的 html 是:
<table class="all-pr" >
<tr>
<td>
<div class="pr risk-alert-high">114</div>
<div class="link-pr">-</div>
<div class="pr risk-alert-high">115</div>
<div class="link-pr">-</div>
<div class="pr risk-alert-high">116</div>
<div class="link-pr">-</div>
<div class="pr risk-alert-high">117</div>
<div class="link-pr">-</div>
<div class="pr risk-alert-high">118</div>
<div class="link-pr">-</div>
</td>
</tr>
<!-- BREAK HERE -->
<tr>
<td>
<div class="pr risk-alert-high">119</div>
<div class="link-pr">-</div>
<div class="pr risk-alert-high">120</div>
<div class="link-pr">-</div>
<div class="pr risk-alert-high">121</div>
<div class="link-pr">-</div>
<div class="pr risk-alert-high">122</div>
<div class="link-pr">-</div>
<div class="pr risk-alert-high">123</div>
<div class="link-pr">-</div>
</td>
</tr>
...
...
</table>
CSS 的(部分):
.link-pk, .pr {
text-align: center;
float: left;
margin-top: 5px;
padding: 5px;
width : 25px
}
然后,我使用 PDFKIT lib 将 HTML 转换为 PDF。
但我不知道如何关闭标签并(重新)创建新标签,然后继续循环......知道吗?
谢谢,F。