0
我一直在試圖讓django在用戶輸入他的電子郵件時發送郵件給一個用戶,但它一直失敗。例如,用戶A向我的列表和django註冊發送郵件。用戶B註冊我的列表和Django發送用戶A和B的郵件。Django的send_mail函數一直在失敗
我不想要那種過程,我想在每個用戶填寫他們的電子郵件地址後發送郵件給每個用戶。因此,當另一個用戶註冊django不會將當前用戶和已經在數據庫中的用戶發送相同的郵件。
下面是我的代碼:
發送邀請
Subject='Join Me'
message=loader.get_template('letter.txt')
from_email='[email protected]'
def invite_me(request):
if request.method=="POST":
form=InviteForm(request.POST)
if form.is_valid():
form.save()
#get input data and send email to the user.
send_mail(Subject,message.render(Context()),from_email,Invite.objects.values_list('email_address', flat=True))
return HttpResponse('Thanks For Inputting Your Email, Go Check Your Inbox!')
else:
return HttpResponse('Invalid Email Address')
else:
form=InviteForm()
return render_to_response('home.html',{'InviteForm':InviteForm},context_instance=RequestContext(request))
我試過了,但我得到一個TypeError:'Invite'對象不可迭代。即使我選擇這樣做:Invite.objects.latest('email_address')我仍然會得到相同的錯誤。我如何使列表可迭代? – picomon
@picpic兩件事。首先,你可能忘了在'invite'周圍添加'['']'。其次,我犯了一個錯誤,它應該是'[invite.email_address]'而不是'[invite]'。在旁註中,使用'.latest'會使你暴露於競爭條件,你應該避免它。 –
非常感謝!你搖滾。 :) – picomon