0
我有一個非常基本的電子郵件應用程序。這些表格類是:發送郵件中的「收件人」
class ContactForm(forms.Form):
name = forms.CharField(max_length=100)
subject = forms.CharField(max_length=100)
sender = forms.EmailField()
recipient_list = forms.EmailField()
message = forms.CharField(widget=forms.Textarea)
cc_myself = forms.BooleanField(initial=True)
視圖功能如下:
def contact_name(request, id):
if request.method == 'POST': # If the form has been submitted...
form = ContactForm(request.POST) # A form bound to the POST data
if form.is_valid():
name = form.cleaned_data['name']
subject = form.cleaned_data['subject']
message = form.cleaned_data['message']
sender = form.cleaned_data['sender']
cc_myself = form.cleaned_data['cc_myself']
recipients = ['[email protected]']
if cc_myself:
recipients.append(sender)
from django.core.mail import send_mail
send_mail(subject, message, sender, recipients)
return HttpResponseRedirect('/') # Redirect after POST
else:
a=Entry.objects.get(pk=id)
form = ContactForm(instance=a) # An unbound form
return render_to_response('email.html', {
'form': form,
})
只要我在視圖中指定收件人,我沒有問題。但是,我希望將郵件發送到表單字段「收件人列表」中指定的地址。 當我構建這樣的視圖的代碼:
recipients = form.cleaned_data['recipient_list']
if cc_myself:
recipients.append(sender)
from django.core.mail import send_mail
send_mail(subject, message, sender, recipients)
return HttpResponseRedirect('/') # Redirect after POST
或:
recipients = request.POST.get('recipient_list', '')
if cc_myself:
recipients.append(sender)
我得到錯誤 「 '的unicode' 對象沒有屬性 '追加'」。總之,它不起作用。我究竟做錯了什麼?
謝謝你Ozan。感謝你的幫助。 – kjarsenal 2010-01-15 00:23:23