最近在开发中用到了发送邮件的功能,邮件内容要求是html,所以就用到了mako的模版功能。
mako模版可以让我们在后端进行html的数据填充,从而获取html文件
使用方法:
1、pip安装Mako
pip install Mako
2、设置发送邮件的模版
您好!您所申请的虚拟机详情
${title}
详情:
IP | 端口 | 用户名 | 密码 | 创建状态 | Agent安装状态 | 业务模块迁移状态 |
---|
%for data in datas:
${data['ip']}${data['port']}${data['account']}${data['password']}%if data['create_status'] == 'FAILED':
${data['create_status']}%else:
${data['create_status']}%endif
%if data['agent_status'] == 'FAILED':
${data['agent_status']}%else:
${data['agent_status']}%endif
%if data['transfer_status'] == 'FAILED':
${data['transfer_status']}%else:
${data['transfer_status']}%endif
%endfor
3、使用Template
from mako.template import Template
email_content = Template(common.EMAIL_TEMPLATE).render(title=vm_detail, datas=content)
print email_content
email_content就是我们最终需要的html代码。
常用语法
变量
${name}
在{}中可以执行Python语句,比如${name.upper()}会转为大写
循环
% for i in l:
${i}
% endfor
条件
% if i == 1:
${i}
%else:
${i+1}
% endif