我正在使用Django视图来呈现一个HTML(1)文件,该文件向另一个Django URL发出AJAX请求,并将响应转换为另一个HTML(2)。 我想发送HTML(2)的内容通过电子邮件发送,有没有办法做到这一点?
p.s:我还有css文件,它定义了HTML(2)的布局。我想确保收件人可以查看css格式的HTML。 这是我创建HTML(2)的代码。
success: function(response) {
var output = "<ul>";
//output += "<table border=\"1\">";
$.each(response, function(entryIndex, entry){
$.each(entry, function(key,value ){
if (key != '_id'){
if (key == 'week'){
output += "<table border=\"1\">";
output += "<tr>";
output += "<th colspan=2><br>"+key+value+"</th>";
output += "</tr>";
//output += "</ul>";
}
else{
if ( key == 'report'){
$.each(value, function(key1,value1){
output += "<tr>";
output += "<td>"+key1+" </td>";
output += "<td>"+value1+" </td>";
output += "</tr>";
});
output += "</ul>";
}
}
}
});
});
output += "</ul>";
$('p').html(output);
},
答案 0 :(得分:1)
在您的视图中,您需要将HTML(2)呈现为字符串并使用vanilla Django电子邮件功能实际发送它。
from django.core.mail import send_mail
from django.template.loader import render_to_string
emailBody = render_to_string('email_template.html', {'templateVars': 'values'})
send_mail('Subject here', 'emailBody, 'from@example.com', ['to@example.com'], fail_silently=False)
就CSS部分而言,您需要单独托管或将其嵌入电子邮件正文中。这是另一个主题。