]> git.0d.be Git - django-panik-newsletter.git/commitdiff
use templates to render newsletter
authorFrédéric Péters <fpeters@0d.be>
Fri, 9 Feb 2018 14:58:38 +0000 (15:58 +0100)
committerFrédéric Péters <fpeters@0d.be>
Fri, 9 Feb 2018 14:58:38 +0000 (15:58 +0100)
newsletter/models.py
newsletter/templates/newsletter/email_body.html [new file with mode: 0644]
newsletter/templates/newsletter/email_body.txt [new file with mode: 0644]

index 07de10628d048d603941657e164c36e11335115d..e5f93936422180fe552bdee02168e5baeb436e05 100644 (file)
@@ -14,9 +14,11 @@ import html2text
 from django.db import models
 from django.core.urlresolvers import reverse
 
-from django.template import loader, Context 
+from django.template import loader, Context
+from django.template.loader import render_to_string
 from django.conf import settings
 
+from django.utils.safestring import mark_safe
 from django.utils.translation import ugettext
 from django.utils.translation import ugettext_lazy as _
 from django.core.mail import send_mail
@@ -81,12 +83,13 @@ class Newsletter(models.Model):
 
         h2t = html2text.HTML2Text()
         h2t.unicode_snob = True
-        html = self.text.encode('utf-8')
-        if settings.NEWSLETTER_STYLE:
-            html += '''\n<style type="text/css">\n%s\n</style>''' % settings.NEWSLETTER_STYLE
+        context = {
+            'text_part': mark_safe(h2t.handle(self.text)),
+            'html_part': mark_safe(self.text),
+        }
 
-        part1 = MIMEText(h2t.handle(self.text).encode('utf-8'), 'plain', _charset='utf-8')
-        part2 = MIMEText(html, 'html', _charset='utf-8')
+        part1 = MIMEText(render_to_string('newsletter/email_body.txt', context), 'plain', _charset='utf-8')
+        part2 = MIMEText(render_to_string('newsletter/email_body.html', context), 'html', _charset='utf-8')
 
         msg.attach(part1)
         msg.attach(part2)
diff --git a/newsletter/templates/newsletter/email_body.html b/newsletter/templates/newsletter/email_body.html
new file mode 100644 (file)
index 0000000..1869bb6
--- /dev/null
@@ -0,0 +1 @@
+{{html_part}}
diff --git a/newsletter/templates/newsletter/email_body.txt b/newsletter/templates/newsletter/email_body.txt
new file mode 100644 (file)
index 0000000..6d41fd1
--- /dev/null
@@ -0,0 +1 @@
+{{text_part}}