【发布时间】:2020-04-30 04:47:05
【问题描述】:
我看到有人像这样使用send_mail 函数:
send_mail(subject, message, from_email, ['admin@example.com'])
我的表单有更多字段,例如“姓名”和“电话号码”。如何将这些额外字段传递给 send_mail 函数?
forms.py
class ContactForm(forms.Form):
name = forms.CharField(required=True)
phone_number = forms.CharField(required=True)
from_email = forms.EmailField(required=True)
subject = forms.CharField(required=True)
message = forms.CharField(widget=forms.Textarea, required=True)
views.py
def contactView(request):
if request.method == 'GET':
form = ContactForm()
else:
form = ContactForm(request.POST)
if form.is_valid():
subject = form.cleaned_data['subject']
from_email = form.cleaned_data['from_email']
message = form.cleaned_data['message']
try:
send_mail(subject, message, from_email, ['admin@example.com'])
except BadHeaderError:
return HttpResponse('Invalid header found.')
return redirect('success')
return render(request, "email.html", {'form': form})
【问题讨论】:
标签: django django-forms django-views