Джанго: Как я могу отправить электронное письмо с описанием, которое включает в себя все входные данные из контактной формы? - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть сайт, созданный 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 или использовать метод другого типа, чтобы отправить более одной формы контактной информации для описания электронной почты (например, «компания», «телефон», «адрес» и т. Д.) )

1 Ответ

0 голосов
/ 20 апреля 2019

Вы можете назначить все переменные company, phone, address отдельно, а затем объединить их как описание.затем описание по электронной почте.См. Пример ниже:

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 = 'Company is' + str (company) + '.Номер телефона: «+ ул (телефон) +».address '+ str (address)

Надеюсь, что это поможет.

Вы можете подписаться на меня на YouTube, делюсь всем своим опытом на моем канале:

Адрес канала: https://www.youtube.com/channel/UCEXgQzMw_DXxk1M4Rlsciag?sub_confirmation=1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...