Как я могу отправить сообщение о создании нового объекта модели в django
Я хочу отправлять email, если пользователь что-то делает и в результате его действий в базе данных появляется какая-то запись. Я хочу сделать функцию отправки email из моего models.py. Возможно ли это?
Да, существует множество способов отправки почты при выполнении какого-либо действия в базе данных. Вы можете использовать функцию post_save сигналов Django. Используя сигналы, вы можете отправлять электронные письма пользователю без каких-либо других правок в вашем коде/ представлении.
from django.db.models.signals import pre_save
from django.dispatch import receiver
from django.core.mail import EmailMessage
@receiver(pre_save, sender=MyModel) # here MyModel is name of your model
def send_email(sender, instance, **kwargs):
email = EmailMessage('your title', 'body', to=[email])
email.send()
# your code to send email
...
Вы также должны иметь настройки электронной почты в файле settings.py. Я также привожу их здесь.
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'Your email id'
EMAIL_HOST_PASSWORD = 'your password'
EMAIL_PORT = 587