如何在Python代码中修改HTML代码?
我正在与Django合作创建一个网站。我有一个发送电子邮件的函数,该函数通过HTML文件中的按钮调用。 我想在python函数的HTML代码中插入一个python变量:如何在Python代码中修改HTML代码?,python,html,python-3.x,string-formatting,Python,Html,Python 3.x,String Formatting,我正在与Django合作创建一个网站。我有一个发送电子邮件的函数,该函数通过HTML文件中的按钮调用。 我想在python函数的HTML代码中插入一个python变量: import smtplib, ssl, getpass from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart def mailfunctionejex(receiver_email, subject, mess
import smtplib, ssl, getpass
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
def mailfunctionejex(receiver_email, subject, message, passwordtest):
port = 465
smtp_server = 'smtp.gmail.com'
sender_email = 'senderg@gmail.com'
failcounter = 0
#MIME parameters
mailmessage = MIMEMultipart()
mailmessage['Subject'] = subject
mailmessage['From'] = sender_email
mailmessage['To'] = receiver_email
mailmessage['Bcc'] = receiver_email
#Message content
html = '''\
Good morning, the user {sender_email} has send you a message: \n
{message} #I would to insert in {} the variable sender_email and #message
'''
#Conversions
htmlpart = MIMEText(html, 'html')
mailmessage.attach(htmlpart)
.
.
.
这只是一个与任何其他字符串类似的字符串,因此应该这样做(我在字符串之前添加了一个f,以告诉Python它是一个格式字符串): 如果这不起作用,您可以使用旧方法:
html = 'Good morning, the user'+ sender_email+ 'has send you a message: \n'
+message
如果f-string不是一个选项,我建议在进行
str
连接之前使用str.format
,例如“早上好,用户{}已经向您发送了一条消息:\n{}”。format(sender\u email,message)
或类似f-string的“早上好,用户{sender\u email}已经向您发送了一条消息:\n{message message}”。format\u map(locals())
。字符串连接涉及许多临时字符串(这是一个Schlemiel-the-Painter算法),要求所有输入都已经是str
(其中str.format
将隐式字符串化),而且更难看(主观意见)。我很高兴它做到了!
html = 'Good morning, the user'+ sender_email+ 'has send you a message: \n'
+message