Как сделать динамический шаблон электронной почты и хранить его в таблице базы данных в django?
я работаю в проекте, где нам нужно иметь html и текстовую почту, которую нужно хранить в базе данных. чтобы мы могли динамически изменять значения в почте и отправлять почту пользователям.
если кто-нибудь может подсказать мне, как все это сделать, это будет очень полезно. я новичок в django
Framework - django, для почтового клиента - AWS ses, boto3
Вам не нужно хранить html в базе данных в каталоге templates
создайте новый html файл и дайте ему имя. скажем example.html
и напишите шаблон для письма, которое вы хотите отправить, я возьму пример:
example.html
<h1> This is an email template </h1>
<p> {{value1}} {{value2}} </p>
где value1 и value2 - переменные, которые вы можете динамически изменять перед отправкой электронной почты, модифицируя html-файл по своему усмотрению.
Теперь в любом файле views.py
, с помощью которого вы отправляете электронные письма, просто измените его на:
from django.template.loader import render_to_string, get_template
from django.core.mail import send_mail , EmailMessage
def emailSender():
mail_subject = 'Mail Subject Here'
message = render_to_string('example.html', {
'value1': "Value1 here",
'value2': "Value2 here"
})
send_mail(mail_subject , message , "sender's email" , ["reciever's email here"] , html_message=message)
обратите внимание, что value1
и value2
- это те же переменные, которые мы упоминали в example.html. Это отобразит ваш html-шаблон как сообщение электронной почты, и вы сможете легко переключаться между значениями