[英]How can I send for new model object create in django
如果用户做了某事,我想发送电子邮件,并且由于他的操作,在数据库中进行了一些条目。 我想从我的 models.py 中执行发送电子邮件功能。 可能吗??
是的,当在数据库中执行某些操作时,您可以通过多种方式发送邮件。 您可以使用 Django 的信号 post_save 功能。 使用信号,您可以向您的用户发送电子邮件,而无需在您的代码/视图中进行任何其他编辑。
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.