大家都知道(或應該),你可以使用Django的模板系統來呈現電子郵件正文:電子郵件模板在Django
def email(email, subject, template, context):
from django.core.mail import send_mail
from django.template import loader, Context
send_mail(subject, loader.get_template(template).render(Context(context)), '[email protected]', [email,])
這在我的腦海裏有一個漏洞:編輯的主題和內容電子郵件,你必須編輯視圖和模板。雖然我可以證明給管理員用戶訪問模板的理由,但我並沒有給他們訪問原始Python的權限!
什麼將是非常酷的是,如果你能在電子郵件中指定塊,並分別將它們拉出來當您發送電子郵件:
{% block subject %}This is my subject{% endblock %}
{% block plaintext %}My body{% endblock%}
{% block html %}My HTML body{% endblock%}
但你會怎麼做呢?你將如何去渲染一個塊?
好&* $#我逃出來的文本。有用。考慮在基礎上添加更多字段以允許設置從/從名稱/回覆至設置。 – Oli 2010-01-12 19:19:01
哈,我一直在使用三種不同的模板,這是一個PITA。來自我的確定+1! – 2010-01-12 21:28:42
我喜歡它。我總是使用單獨的模板,這很好,但這樣處理起來更好(尤其是因爲您通常都希望所有模板都具有相同的上下文)。 – 2010-01-13 02:11:15