Как сделать динамический шаблон электронной почты и хранить его в таблице базы данных в 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-шаблон как сообщение электронной почты, и вы сможете легко переключаться между значениями

Вернуться на верх