python - KeyError:在 HTML 中添加变量时出现“\n 边框”
问题描述
我想在通过 python 发送的 html 电子邮件中包含一个简单的表。
html = """
<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;}
th, td {padding: 5px;}
th {text-align: left;}
</style>
</head>
<body>
<h2>Basic HTML Table</h2>
<table style="width:10%">
<tr>
<th>Firstname</th>
</tr>
<tr>
<td>Jill</td>
</tr>
<tr>
<td>Eve</td>
</tr>
</table>
</body>
</html>
"""
它工作正常,然后我想插入一个变量,所以将其更改为:
code = "Somebody"
html = """
<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;}
th, td {padding: 5px;}
th {text-align: left;}
</style>
</head>
<body>
<h2>Basic HTML Table</h2>
<table style="width:10%">
<tr>
<th>Firstname</th>
</tr>
<tr>
<td>Jill</td>
</tr>
<tr>
<td>{code}</td>
</tr>
</table>
</body>
</html>
""".format(code=code)
它警告:
""".format(code=code)
KeyError: '\n border'
我正在考虑添加 html = html.readline.rstrip("\n") 但错误发生在此之前。
我怎样才能纠正它?谢谢你。
解决方案
那是因为您在那里有一个样式块,并且它正在使用{}
由.format()
函数搜索和评估的样式块。
尝试通过将其导出到单独的文件来将其从 html 中删除。
推荐阅读
- java - java - 如何在Java中的弹性搜索Querybuilder中处理多个“和”“或”运算符
- spring-boot - 如何在 Java 中使用 rest API 在弹性搜索中索引对象数组
- laravel - 获取条纹信用卡图像/图标 url api?
- php - Laravel 5.8 发送参数授权方法FormRequest类
- react-native - 如何在本机反应中检查互联网连接
- maven - Maven (Tycho) 无法解析 OSGi 核心包
- javascript - 为什么在这段代码中,箭头函数的外部作用域是 `showList` 而不是 `forEach`?
- joomla2.5 - 如何为 k2 类别创建自定义模板并将此模板分配给 Joomla 支持?
- python - 欧几里得距离的迭代计算
- python - 为什么我在递归函数中的 list.append() 总是添加到 Python 的顶层