将数据添加到python中的html变量

时间:2019-11-20 03:37:16

标签: python python-2.7

html文件

TEMPLATE2 = """
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
    <style>
        table, th, td {
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <br />
    <table width="auto">
        <tr>
            <td align="center"> <span style="font-size:20px; color:blue;font-weight:500">   Hdr1  </span><br /> </td>
            <td align="center"> <span style="font-size:20px; color:blue;font-weight:500">   Hdr2</span><br /> </td>
        </tr>
        <tr> <td>1stRow:</td><td>{1strowVal}</td></tr>
        ...
        ...
        ...
        <tr><td>25throw</td><td>{25throwVal}</td></tr>
    </table>
</body>
</html>
"""

通过使用上述模板,我有一种用于for循环的其他方法,我尝试了多种类型的示例,但没有用。就我而言,我需要一次分配一个变量,而不是一次全部分配。

尝试以下方式无效

尝试1

TEMPLATE2.replace(NthrowVal, str(0))

try2

s = Template(TEMPLATE2).safe_substitute(NthrowVal="Alex")

try3

  msg = MIMEText(
       Environment().from_string(TEMPLATE2).render(
      NthrowVal="someval"
       ), "html"
    )

任何建议

1 个答案:

答案 0 :(得分:-1)

Python变量名称不能以整数开头,因此您需要将1strowVal更改为更类似于rowVal1。接下来,使用格式字符串将变量注入到您的字符串中:

rowVal1 = "SOME_STRING_VALUE"
rowVal25 = "SOME_STRING_VALUE"

TEMPLATE2 = """
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
    <style>
        table, th, td {
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <br />
    <table width="auto">
        <tr>
            <td align="center"> <span style="font-size:20px; color:blue;font-weight:500">   Hdr1  </span><br /> </td>
            <td align="center"> <span style="font-size:20px; color:blue;font-weight:500">   Hdr2</span><br /> </td>
        </tr>
        <tr> <td>1stRow:</td><td>%s</td></tr>
        ...
        ...
        ...
        <tr><td>25throw</td><td>%s</td></tr>
    </table>
</body>
</html>
""" % (rowVal1, rowVal25)