Использую EmailMultiAlternatives в Django, но после отправки письма возникает проблема рендеринга
После отправки html письма с помощью EmailMultiAlternatives в Django, возникла проблема с рендерингом. Я хотел показать пользователю email
на ваш электронный адрес {{ email }}
отправляется письмо.Но вместо корректного отображения адреса электронной почты, он отображался следующим образом "<django.core.mail.message.EmailMultiAlternatives object at 0x7f7b11bdffa0>"
Как я могу решить эту проблему?
views.py
#html email configuration
html_content = render_to_string("basecamp/html_email-inquiry.html",
{'name': name, 'contact': contact, 'email': email,
'message': message,})
text_content = strip_tags(html_content)
email = EmailMultiAlternatives(
"Inquiry",
text_content,
'',
[email]
)
email.attach_alternative(html_content, "text/html")
email.send()
return render(request, 'basecamp/inquiry_details.html',
{'name' : name, 'email': email, })
else:
return render(request, 'basecamp/inquiry1.html', {})
inquiry_details.html
<div class="py-md-6">
<h1 class="text-light pb-1">Thank you! {{ name }}</h1>
<br>
<p class="fs-lg text-light">An email is being sent to your email now</span></p>
{{ имя }} отображается правильное имя, но только email не отображается правильный адрес электронной почты. отображается вот так; <django.core.mail.message.EmailMultiAlternatives object at 0x7f7b11bdffa0>
Django работает синхронно. Поэтому я создал переменную для рендеринга перед конфигурацией html email и возвращаю рендеринг этой переменной после html email кодов.
имя переменной называется 'rendering'
views.py
rendering = render(request, 'basecamp/inquiry_details.html',
{'name' : name, 'email': email, })
# html email configuration
html_content = render_to_string("basecamp/html_email-inquiry.html",
{'name': name, 'contact': contact, 'email': email,
'message': message,})
text_content = strip_tags(html_content)
email = EmailMultiAlternatives(
"Inquiry",
text_content,
'',
[email]
)
email.attach_alternative(html_content, "text/html")
email.send()
return rendering
else:
return render(request, 'basecamp/inquiry.html', {})
inquiry_details.html
<div class="py-md-6">
<h1 class="text-light pb-1">Thank you! {{ name }}</h1>
<p class="fs-lg text-light">An email is being sent to your email {{ email }} now</p>
работает отлично!!! правильный адрес электронной почты теперь отображается хорошо.