我想发送一封包含此类模板的电子邮件。
{% extends "base.html" %}
{% block content %}
<h2>Invoice Details</h2>
<div id="horizontalnav">
<a href="/index/add_invoice">Add an Invoice</a>
<a href="/index/work_orders">Add a Work Order</a>
<a href="/index/add_payment">Add Payment</a>
</div>
<ul STYLE="border: 1px solid;float:left;padding:15px; width: 700px;">
<h2 STYLE="text-align: right; COLOR:blue; Font-family:ARIAL">
INVOICE</h2>
<br/>
<b>company</b>
<br/>
<div id="list">
{% for invoice in invoices_list %}
<p style="text-align: right;">INVOICE # {{invoice.invoice_no}}<br/>
{{invoice.date}}<br/>
{{invoice.contract_info}}<br/>
{% for invoice in invoice.work_orders.all %}
{{invoice}}<br/>
{% endfor %}
{% endfor %}
<p style="text-align: left">
<p>To</p>
{{client.company}}<br/>
{{client.address}}<br/>
{{client.city}}<br/>
{{client.postcode}}<br/>
<p>
</div>
</ul>
{% endblock %}
我希望使用django数据发送完全支持html的模板。但是我遇到了一些问题。我收到了这个错误。
"to" argument must be a list or tuple
我假设我的发送到电子邮件域的观点可能有问题,但这应该没有问题。不知怎的,我对此感到困惑。
#views.py
@login_required
def invoice_mail(request):
t = loader.get_template('registration/email.txt')
c = Context({
'invoices_list': 'invoices_list',
'clients_list': 'clients_list',
})
send_mail('Welcome to My Project', t.render(c), 'joe@example.com', '[tom@example.com]', fail_silently=False)
答案 0 :(得分:3)
send_mail('Welcome to My Project', t.render(c), 'joe@example.com', '[tom@example.com]', fail_silently=False)
必须是
send_mail('Welcome to My Project', t.render(c), 'joe@example.com', ['tom@example.com'], fail_silently=False)
答案 1 :(得分:2)
错误消息非常明确。 to
的{{1}}参数是第四个位置参数,需要是列表或元组。由于某种原因,你传递一个字符串,在字符串中有括号。
send_mail
答案 2 :(得分:1)
'[tom@example.com]'
不是列表,它是一个在每一端都带有方括号的字符串。请改为['tom@example.com']
。