0

Django ビューを使用して、AJAX 要求を別の Django URL に送信する HTML(1) ファイルをレンダリングしています。応答は別の HTML(2) に変換されます。HTML(2) の内容をメールで送信したいのですが、方法はありますか?

ps: HTML(2) のレイアウトを定義する css ファイルもあります。受信者が 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);
            },
4

1 に答える 1

1

ビューでは、HTML(2) を文字列にレンダリングし、標準の 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 部分に関しては、個別にホストするか、メール本文に埋め込む必要があります。それはすべて一緒に別の主題です。

于 2013-10-08T20:22:03.700 に答える