KeyError: '\ n border' при добавлении переменной в HTML - PullRequest
0 голосов
/ 19 марта 2020

Простая таблица, которую я хочу включить в html электронное письмо, которое отправляет python.

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"), но ошибка происходит еще до того что.

Как я могу исправить это? Спасибо.

1 Ответ

0 голосов
/ 19 марта 2020

Это потому, что у вас есть блок стилей, и он использует {}, который ищется и оценивается функцией .format(). Попробуйте удалить его из html, экспортировав в отдельный файл.

...