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"
)
任何建议
答案 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)