提问者:小点点

Django:我如何发送一封包含联系人表单中所有输入内容的电子邮件?


我有一个Django建立的网站,在提交联系表后会向某个员工发送电子邮件。在我看来,这是相关的代码。执行此操作的py文件如下所示:

def quote_req(request):
    submitted = False
    if request.method == 'POST':
        form = QuoteForm(request.POST, request.FILES)
        description = request.POST['company']
        if form.is_valid():
            form.save()
            # assert false
            send_mail('Contact Form', description, settings.EMAIL_HOST_USER, ['sample@gmail.com'], fail_silently=False)
            return HttpResponseRedirect('/quote/?submitted=True')
    else:
        form = QuoteForm()
        if 'submitted' in request.GET:
            submitted = True

    return render(request, 'quotes/quote.html', {'form': form, 'page_list': Page.objects.all(), 'submitted': submitted})

网站成功地发送了电子邮件;然而,目前我只能从联系人表单(在本例中是“公司”)发送一个输入,用于电子邮件描述(在send_mail命令中使用)。

有人知道我是否可以修改请求吗。发布命令或使用其他类型的方法发送多个电子邮件描述的联系人表单输入(即“公司”、“电话”、“地址”等)?


共1个答案

匿名用户

您可以分配所有的变量公司,电话,地址分开,然后连接它们作为描述。见下面的例子:

if request.method == 'POST':
    form = QuoteForm(request.POST, request.FILES)
    company = request.POST['company']
    phone = request.POST['phone']
    address = request.POST['company']
    description = str(company) + ' '+ str(phone) + ' '+ str(address)
    if form.is_valid():
        form.save()
        # assert false
        send_mail('Contact Form', description, settings.EMAIL_HOST_USER, ['sample@gmail.com'], fail_silently=False)
        return HttpResponseRedirect('/quote/?submitted=True')

您还可以在这两者之间添加一些文本,如:description='公司是'str(company)'。电话号码是“str(电话)”。地址是'str(地址)

希望有帮助。

频道地址是:https://www.youtube.com/channel/UCEXgQzMw_DXxk1M4Rlsciag?sub_confirmation=1