0

我已经使用 Dominate Library 创建了表,但现在我想更改我的表类。有人可以帮我这样做吗?

doc1 = dominate.document(title='Dominate your HTML')
    with doc1:
        with div():
            attr(cls='body')
            h1('Survey Report : Survey Report')
    oc = dominate.document(title="whatever")
    with doc1:
        tags.style(".calendar_table{width:880px;}")
        tags.style("body{font-family:Helvetica}")
        tags.style("h1{font-size:x-large}")
        tags.style("h2{font-size:large}")
        tags.style("table{border-collapse:collapse}")
        tags.style("th{font-size:small;border:1px solid gray;padding:4px;background-color:#DDD}")
        tags.style("td{font-size:small;text-align:center;border:1px solid gray;padding:4px}")
        with tags.table():
            with tags.thead():
                tags.th("Nominee", style = "color:#ffffff;background-color:#6A75F2")
                tags.th("counts", style = "color:#ffffff;background-color:#6A75F2")
            with tags.tbody():
                for i in range(0,len(nom)):
                    with tags.tr(): #Row 1
                        tags.td(nom[i], style = "font-size:small;text-align:center;padding:4px")
                        if int(count_nom[i]) > 1:
                            tags.td(count_nom[i], style = "font-size:small;text-align:center;padding:4px;background-color:#F4D8D2")
                        else:
                            tags.td(count_nom[i], style = "font-size:small;text-align:center;padding:4px")
                with tags.tr(): #Row 1
                        tags.td(b("Grand Total"), style = "font-size:small;text-align:center;padding:4px")
                        tags.td(b(sum(count_nom)), style = "font-size:small;text-align:center;padding:4px")
with open('/root/survey/'+'survey'+'.html', 'w') as f:
        f.write(doc1.render())

有了这个,我可以在 HTML 中创建表格

<div class="body">
  <h1>Survey Report</h1>
</div>
<style>.calendar_table{width:880px;}</style>
<style>body{font-family:Helvetica}</style>
<style>h1{font-size:x-large}</style>
<style>h2{font-size:large}</style>
<style>table{border-collapse:collapse}</style>
<style>th{font-size:small;border:1px solid gray;padding:4px;background-color:#DDD}</style>
<style>td{font-size:small;text-align:center;border:1px solid gray;padding:4px}</style>
<table>
  <thead>
    <th style="color:#ffffff;background-color:#6A75F2">Nominee</th>
    <th style="color:#ffffff;background-color:#6A75F2">counts</th>
  </thead>
  <tbody>
    <tr>
      <td style="font-size:small;text-align:center;padding:4px">Deepesh Ahuja</td>
      <td style="font-size:small;text-align:center;padding:4px">1</td>
    </tr>
    <tr>
      <td style="font-size:small;text-align:center;padding:4px">Sabyasachi Mallick</td>
      <td style="font-size:small;text-align:center;padding:4px">1</td>
    </tr>
    <tr>
      <td style="font-size:small;text-align:center;padding:4px">Raju Singh</td>
      <td style="font-size:small;text-align:center;padding:4px">1</td>
    </tr>
    <tr>
      <td style="font-size:small;text-align:center;padding:4px">Abarna Ravi</td>
      <td style="font-size:small;text-align:center;padding:4px;background-color:#F4D8D2">2</td>
    </tr>
    <tr>
      <td style="font-size:small;text-align:center;padding:4px">
        <b>Grand Total</b>
      </td>
      <td style="font-size:small;text-align:center;padding:4px">
        <b>5</b>
      </td>
    </tr>
  </tbody>
</table><br><br><br>

现在我将如何在 python 代码中设置表类,例如

<table class='calender_tabe'>

有人可以帮助我使用 python 支配库设置表类和其他标签吗?

4

1 回答 1

2

使用github 文档中的示例语法

from dominate.tags import *

testTable = table(border = 1)
print testTable

这将返回:

<table border="1"></table> 

与打印语句。但是,由于您不能使用“类”一词来指代 html 属性(类是 python 保留的词),因此您必须间接进行:

testTable.set_attribute('class','my_class_name')

将上述内容添加到 testTable 的原始实例将导致:

<table border="1" class="my_class_name"></table>
于 2018-01-09T20:02:18.947 回答