【问题标题】:Django: How can I send an email with a description that includes all inputs from a contact form?Django:我如何发送一封包含联系表单中所有输入的描述的电子邮件?
【发布时间】:2019-09-10 02:41:18
【问题描述】:

我有一个 Django 构建的网站,在提交联系表后会向某个员工发送电子邮件。我的 views.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 命令中使用)的一个输入。

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

【问题讨论】:

    标签: django email django-forms django-views web-site-project


    【解决方案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(phone) + '。地址是'+ str(地址)

    希望对您有所帮助。

    你可以在 youtube 上关注我,在我的频道上分享我所有的经验:

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

    【讨论】:

      猜你喜欢
      • 2020-12-07
      • 2018-04-15
      • 1970-01-01
      • 2020-05-05
      • 1970-01-01
      • 2014-11-27
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多