在html文件中插入变量

2024-05-16 21:26:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用sendgrid发送电子邮件。为此,我创建了一个html文件,并希望将一些变量格式化到其中

非常基本的test.html示例:

<html>
    <head>
    </head>

    <body>
        Hello World, {name}!
    </body>
</html>

现在,在我的Python代码中,我尝试执行以下操作:

html = open("test.html", "r")
text = html.read()

msg = MIMEText(text, "html")
msg['name'] = 'Boris'

and then proceed to send the email

遗憾的是,这似乎不起作用。有什么办法可以让这一切顺利吗


Tags: 文件代码textnametest示例helloworld
1条回答
网友
1楼 · 发布于 2024-05-16 21:26:06

有几种方法可以实现这一点,具体取决于它的动态性以及需要插入的元素数量。如果它是一个单值name,那么@furas是正确的,您可以简单地

html = open("test.html", "r")
text = html.read().format(name="skeletor")
print(text)

并获得:

<html>
   <head>
   </head>

   <body>
    Hello World, skeletor!
   </body>
</html>

或者,您可以使用Jinja2模板

import jinja2
html = open("test.html", "r")
text = html.read()
t = jinja2.Template(text)
print(t.render(name="Skeletor"))

有用的链接:Jinja website

Real Python Primer on Jinja

Python Programming Jinja

相关问题 更多 >